如何在单个HiveQL查询中从多个Hive表存储区中检索数据

时间:2019-07-20 07:57:51

标签: hiveql

在我的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脚本,可以达到预期的效果。

!/ bin / bash

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中自行获取所需的结果,请帮助我。

谢谢!

0 个答案:

没有答案