我目前有一个拥有15亿行的Hive表.我想创建一个较小的表(使用相同的表模式),原始表中有大约100万行.理想情况下,新行将从原始表中随机采样,但是获取原始表的前1M或下1M也是可以的.我该怎么做?
INSERT OVERWRITE TABLE my_table_sample
SELECT * FROM my_table
TABLESAMPLE (1m ROWS) t;
Run Code Online (Sandbox Code Playgroud)
这种语法是在Hive 0.11中引入的.如果您运行的是旧版本的Hive,那么您将被限制使用PERCENT如此语法.
INSERT OVERWRITE TABLE my_table_sample
SELECT * FROM my_table
TABLESAMPLE (1 PERCENT) t;
Run Code Online (Sandbox Code Playgroud)
您可以更改百分比以匹配特定的样本大小要求.
| 归档时间: |
|
| 查看次数: |
5473 次 |
| 最近记录: |