所以,我已经在网上看到了几个教程,但每个教程似乎都说要做一些不同的事情。而且,它们中的每一个似乎都没有指定您是要让事情在远程集群上工作,还是要与远程集群进行本地交互,等等。
也就是说,我的目标只是让我的本地计算机(一台mac)让pig能够处理存在于Hadoop集群上的lzo压缩文件,而Hadoop集群已经设置为使用lzo文件。我已经在本地安装了Hadoop,可以使用hadoop fs -[command]从集群中获取文件。
我也已经在本地安装了pig,当我运行脚本或者只是通过grunt运行东西时,可以与hadoop集群通信。我可以很好地加载和处理非lzo文件。我的问题只在于找出一种加载lzo文件的方法。也许我可以通过集群的ElephantBird实例来处理它们?我不知道,只在网上找到了很少的信息。
因此,任何一种简短的教程或答案都会很棒,希望能帮助到更多的人,而不仅仅是我。
发布于 2011-09-20 03:46:36
我最近开始使用它,并在上面为我的同事写了一个维基。下面是一段摘录,详细介绍了如何让PIG与lzos一起工作。希望这对某些人有帮助!
注意:这篇文章在编写时就考虑到了Mac。对于其他操作系统,这些步骤几乎是相同的,这肯定会给你在Windows或Linux上配置所需的知识,但你需要推断一下(显然,将以Mac为中心的文件夹更改为你正在使用的任何操作系统,等等)。
将猪挂在一起以能够与LZO一起工作
到目前为止,这对我来说是最烦人和最耗时的部分--不是因为它很难,而是因为网上有50个不同的教程,没有一个是那么有帮助的。不管怎么说,为了让它工作,我做了:
在https://github.com/kevinweil/hadoop-lzo.
,让
mapred.child.env JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native/Mac_OS_X-x86_64-64/
pig来尝试grunt shell,并确保一切仍然正常。如果没有,你可能把mapred-site.xml中的某些东西搞乱了,你应该仔细检查一下。
都可以正常工作
https://stackoverflow.com/questions/7277621
复制相似问题