如何在 Hive 中为批处理数据创建分层分区
Posted
技术标签:
【中文标题】如何在 Hive 中为批处理数据创建分层分区【英文标题】:How to create hierarchical partitions for batch data in Hive 【发布时间】:2017-01-15 11:43:05 【问题描述】:考虑 2000 年的数据。
test.csv
country_code,product_code,rpt_period 我们,crd,2000 我们,PCL,2000 我们,mtg,2000 在,crd,2000 在,PCL,2000 在,mtg,2000现在我将新生成的 2001 记录附加到 test.csv。将新数据附加到 test.csv 后,我的数据如下所示。
append.csv
country_code,product_code,rpt_period 我们,crd,2000 我们,PCL,2000 我们,mtg,2000 在,crd,2000 在,PCL,2000 在,mtg,2000 我们,crd,2001 我们,PCL,2001 我们,mtg,2001 在,crd,2001 在, pcl, 2001 在,mtg,2001蜂巢中可能出现以下情况?如果是,请回答问题。
-
如何使用此数据为分区表
Foo
创建架构?还有我
希望分区列为 country_code 和 product_code。
例如,我想(从 test.csv 文件记录)加载到表Foo
?使用 hive LOAD DATA
命令?
如何将 append.csv(仅 2001 条记录)加载到表 Foo
。这也需要使用 hive LOAD DATA
命令来完成
谢谢。
【问题讨论】:
【参考方案1】:是的,您提到的所有场景都可以使用 Hive。
-
创建临时表并加载您拥有的所有数据,然后您可以创建包含您提到的 2 列的分区表。
对于 2 和 3:只需加载命令即可。如果您打算加载到分区表中,则必须通过创建临时表并插入到分区表中。
让我知道这是您想要的,否则请更新您的问题。
【讨论】:
对于问题 2 和 3:我想使用 LOAD 命令将数据从各自的文件 test.csv 和 append.csv 加载到分区表中,而不是创建临时表并插入分区。可能吗? 不,使用 hive 查询(加载数据)...但是有一个调整,您可以直接将所需的数据放入分区文件夹,但请确保放置正确的数据(根据分区)。以上是关于如何在 Hive 中为批处理数据创建分层分区的主要内容,如果未能解决你的问题,请参考以下文章