在我的hive数据库中有一个名为emp的表,具有以下属性。
创建表语句:
CREATE TABLE emp (name string,address string,city string,state sting)
CLUSTERED BY (state) SORTED BY (city) INTO 4 BUCKETS;
现在,我的问题是我想从4个存储桶中的1,2个存储桶中获取数据。不确定如何在HiveQL select语句中获得预期结果。
请注意:我可以通过执行以下HiveQL语句来获取各个存储桶的数据。
SELECT * FROM emp TABLESAMPLE(BUCKET 1 OUT OF 4);
通过编写如下的shell脚本,可以达到预期的效果。
hive -e "SELECT * FROM emp TABLESAMPLE(BUCKET 1 OUT OF 4);" > /local/data/file1.txt
hive -e "SELECT * FROM emp TABLESAMPLE(BUCKET 2 OUT OF 4);" >> /local/data/file1.txt
如果我们可以在HiveQL中自行获取所需的结果,请帮助我。
谢谢!