从Hive表中选择大量ID

时间:2016-10-16 13:52:42

标签: sql hadoop hive

我有一张格式类似于

的大表格
+-----+------+------+
|ID   |Cat   |date  |
+-----+------+------+
|12   | A    |201602|
|14   | B    |201601|
|19   | A    |201608|
|12   | F    |201605|
|11   | G    |201603|
+-----+------+------+

我需要根据一个包含大约5000万个ID的列表来选择条目。直截了当的方式是将列表用作WHERE子句,但这会产生非常糟糕的性能,甚至可能无效。我该怎么做这个选择?

1 个答案:

答案 0 :(得分:0)

使用分区表可以快速运行。分区后,将您的ID添加到where。 您还可以从原始子表中提取一个子表,选择所有在其ID和最大值之间具有ID的行。