id col1 col2 ... coln
---------------------
foo barA barB ...
foo barD barX
boo barA barC
foo barC barC
我想将其合并为如下所示的“折叠”行:
foo barA;barD;barC barB;barX;barC
boo barD barC
目前,源文档是一个配置单元“表”,[基本上与我想的纯文本文件相同]-我想知道最有效的方法是什么?
编辑:相关的早期问题(对于SQL,可惜不是 hive )Combine multiple rows into one space separated string
最佳答案
如果要通过mapreduce作业将数据加载到配置单元中,则可以调整该MR为您进行数据转换,然后将其加载到表中(按需要)(数组或;带分隔符等)
如果您希望能够更新/调整数据,则HIVE可能不是最佳选择。您可能希望查看HBase并进行“聚合”以生成要加载到HBase中的数据。每当生成相同的Key / ColumnFamily / Column值时,如果存在,它将覆盖它,因此它将“更新”该值。我在生产中使用它来生成全天不断更新的数据。
在这两种情况下,要操纵大量数据的结构,您可能都想使用mapreduce作业并让其为您进行重组。