我有一张Hive桌 foo
. 此表中有几个字段。其中之一就是 some_id
. 此字段中唯一值的数目,范围为5000-10000。对于每个值(例如 10385
)我需要表演 CTAS
像这样的查询
CREATE TABLE bar_10385 AS
SELECT * FROM foo WHERE some_id=10385 AND other_id=10385;
执行这一系列查询的最佳方法是什么?
我有一张Hive桌 foo
. 此表中有几个字段。其中之一就是 some_id
. 此字段中唯一值的数目,范围为5000-10000。对于每个值(例如 10385
)我需要表演 CTAS
像这样的查询
CREATE TABLE bar_10385 AS
SELECT * FROM foo WHERE some_id=10385 AND other_id=10385;
执行这一系列查询的最佳方法是什么?
1条答案
按热度按时间nue99wik1#
您可以将所有这些表存储在单个分区的表中。这种方法允许您在单个查询中加载所有数据。查询性能不会受到影响。
使用一个查询加载数据,它将只读取源表一次:
然后可以在指定分区的查询中使用此表: