gpt4 book ai didi

loading - 配置单元在分区表中的加载

转载 作者:行者123 更新时间:2023-12-03 20:23:33 26 4
gpt4 key购买 nike

我在HDFS中有一个日志文件,值以逗号分隔。例如:

2012-10-11 12:00,opened_browser,userid111,deviceid222

现在,我想将此文件加载到具有列“ timestamp”,“ action”并按“ userid”,“ deviceid”进行分区的Hive表中。我如何要求Hive将日志文件中的最后2列用作表的分区?所有示例e.g. "hive> LOAD DATA INPATH '/user/myname/kv2.txt' OVERWRITE INTO TABLE invites PARTITION (ds='2008-08-15');"都需要在脚本中定义分区,但是我希望从HDFS文件自动设置分区。

一种解决方案是创建具有所有这4列的中间非分区表,从文件中填充它,然后创建一个INSERT into first_table PARTITION (userid,deviceid) select from intermediate_table timestamp,action,userid,deviceid;,但这是一项额外的任务,我们将有2个非常相似的表。或者我们应该创建外部表作为中间。

最佳答案

张宁在http://grokbase.com/t/hive/user/114frbfg0y/can-i-use-hive-dynamic-partition-while-loading-data-into-tables对该主题有很好的回应。

快速上下文是:


加载数据只是复制数据,它不会读取数据,因此无法确定要分区的内容
建议您首先将数据加载到中间表中(或使用指向所有文件的外部表),然后让分区动态插入启动以将其加载到分区表中

关于loading - 配置单元在分区表中的加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13148187/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com