如何在猪中使用 rcfilepigstorage

Posted

技术标签:

【中文标题】如何在猪中使用 rcfilepigstorage【英文标题】:how to use rcfilepigstorage in pig 【发布时间】:2014-01-17 07:24:23 【问题描述】:

我想将一个文本文件加载到pig中,然后将其存储为rc文件我发现twitter在这个链接中提供了一个存储udf

http://grepcode.com/file/repo1.maven.org/maven2/com.twitter.elephantbird/elephant-bird-rcfile/3.0.8/com/twitter/elephantbird/pig/store/RCFilePigStorage.java

谁能告诉我如何编译它并在我的猪代码中使用它?

【问题讨论】:

【参考方案1】:

包含所有 twitter 依赖项和 pig jar 并编译 RCFilePigStorage.java。如果您想更改代码中的某些特定行为,也可以进行更改并将其重命名为 MyRCFilePigStorage.java。

现在获取编译后生成的类文件,并创建一个名为 MyRCUdf.jar 的 jar 文件。在你的 pigscript 中注册这个 jar。

Register MyRCUdf.jar;
* your pig logic*
Store 'data' using MyRCFilePigStorage();

编辑:请考虑以下链接以获取 twitter 依赖项。获取源代码,编译并包含类路径中生成的类

https://github.com/kevinweil/elephant-bird/blob/master/core/src/main/java/com/twitter/elephantbird/mapreduce/input/MapReduceInputFormatWrapper.java

https://github.com/kevinweil/elephant-bird

【讨论】:

下面的导入语句在编译过程中会出错,我不知道从哪里可以得到这些类。知道如何解决这个问题吗?事实上,我想知道在猪中使用 rcfile 的任何替代方法。谢谢。 1:导入com.twitter.elephantbird.mapreduce.input.MapReduceInputFormatWrapper; 2:导入com.twitter.elephantbird.mapreduce.output.RCFileOutputFormat; @HemantReddy 我已经编辑了答案以反映您的 twitter 依赖项

以上是关于如何在猪中使用 rcfilepigstorage的主要内容,如果未能解决你的问题,请参考以下文章

在猪中使用 AvroStorage()

在猪中增加映射器

在猪中使用过滤器和分组依据

无法在猪中处理 Xml

无法在猪中打开别名的迭代器

在猪中解析复杂的json?