处理文件 HDFS
它包含由“,”分隔的不同数量的字段。例如:
uid1, eid01, para1, para2, para3,para4,para5,timestamp
uid1, eid12, para56, para57, timestamp
uid3, eid42, para102,timestamp
字段的数目不是固定的。
现在我想把这些数据放到 Hive
包含4列和所有字段的表 'para..'
在一个柱状物中:
uid eid para datatime
uid1 eid01 para1, para2, para3,para4,para5 timestamp
uid1 eid12 para56, para57 timestamp
uid3 eid42 para102 timestamp
数据量太大了,我不能用像这样的工具来处理它 AWK
. 还有别的解决办法吗?
感谢您的帮助。
1条答案
按热度按时间eni9jsuy1#
创建一个临时配置单元表,比如t\u data\u tmp(行字符串),它只有一列。将hdfs文件中的数据加载到t\u data\u tmp,每行一行。
用您的模式创建一个配置单元表t\u data,并插入overwrite t\u data作为select from t\u data\tmp
当选择form t\u data\u tmp时,对string(position,substr)使用配置单元函数来计算每列的值(使用第二个逗号和最后一个逗号作为分隔符)