我有一个文件组成如下:
&009:65
34KKll90JJKK87LLOO
%(..)?.I$£.....
&013:35
36KKll90TTYY87LLPP
%%(.9)?'
&025:66
55KKll88ZZYY87MMQQ
%&(.9)?%%??-_'
我想得到一个文件:
&009:65 34KKll90JJKK87LLOO %(..)?.I$£.....
&013:35 36KKll90TTYY87LLPP %%(.9)?'.......
&025:66 55KKll88ZZYY87MMQQ %&(.9)?%%??-_'.......
我用hortonworks,我想知道是用Hive还是Pig更好,我怎样才能做到这一点或其他使用?
1条答案
按热度按时间9w11ddsr1#
hive、pig和整个hadoop生态系统都需要具有单行记录的文件,因此您可以在任何换行符上任意拆分文件,并使用任意数量的Map器分别处理拆分。
您的示例有跨多行的逻辑记录。不是可拆分的东西。无法以分布式方式轻松处理。游戏结束了。
解决方法:在某处启动一个shell,在本地下载丑陋的东西,用旧的sed或awk实用程序重建一致的记录,然后上传结果。你可以用Hive或Pig来读。
sed命令行示例(awk将是overkill imho)。。。
如果您喜欢一行: