我在HDFS中有一个日志文件,值由逗号分隔.例如:
2012-10-11 12:00,opened_browser,userid111,deviceid222
现在我想将此文件加载到Hive表,该表具有"timestamp","action"列,并由"userid","deviceid"分区.我如何让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个非常类似的表.或者我们应该创建外部表作为中间.