将数据拆分为hive中的多个表

时间:2014-07-15 11:35:39

标签: hive

我有一个包含1亿行的数据。我需要将它分成每个1000万的表。如何在蜂巢中完成。

有效的sql查询是:

 select * from Customers where rownum>0 and rownum<=1000000  
 select * from Customers where rownum>1000000 and rownum<=2000000  

依旧......

由于

1 个答案:

答案 0 :(得分:2)

如果您使用的是最新版本,则Hive的ROW_NUMBERanalytics function

否则,您可以执行以下操作:

from (select Customers.*, rand() as r from Customers) t
insert overwrite table Customers_sample1 select * where r < 0.1
insert overwrite table Customers_sample2 select * where r >=0.1 and r < 0.2
insert overwrite table Customers_sample3 select * where r >=0.2 and r < 0.3
...