Apache pig:如何将 ignoreBadFiles 标签与加载功能一起使用?

Posted

技术标签:

【中文标题】Apache pig:如何将 ignoreBadFiles 标签与加载功能一起使用?【英文标题】:Apache pig: How to use the ignoreBadFiles tag with the load function? 【发布时间】:2018-07-20 18:22:55 【问题描述】:

我看到有一个名为 ignoreBadFiles 的标签用于 Apache pig 的加载功能。我想知道是否有人可以向我展示如何使用它的示例。 这是jira门票的链接: https://issues.apache.org/jira/browse/PIG-3404 它讨论了此标签的用例,但没有示例。 对于类似的东西:

LOAD '$inpath' USING AvroStorage();

如果有人能告诉我如何将此标签与加载功能一起使用,那就太好了。非常感谢您的帮助!

【问题讨论】:

票证仍处于打开状态且未解决,这意味着该功能还不是 apache pig 的一部分。 @VK_217 抱歉,我粘贴了错误的 apache pig 票证。请看这个issues-test.apache.org/jira/browse/…。我通过执行USING org.apache.pig.piggybank.storage.avro.AvroStorage ('ignore_bad_files'); 尝试了 testavrostorage 文件中提到的示例,但它给了我一个can not instantiate avrostorage with 'ignore_bad_files error'。你能看看吗?非常感谢! 除非您缩写错误消息,否则您应该看到无法使用参数“[ignore_bad_files]”实例化“org.apache.pig.piggybank.storage.avro.AvroStorage”。否则,也许你没有传递完整的类名。在我的本地环境中,使用 org.apache.pig.piggybank.storage.avro.AvroStorage('ignore_bad_files') 确实实例化没有错误。 【参考方案1】:

除了让您的 AvroStorage('ignore_bad_files') 正常工作之外,您可能还需要查看设置 mapreduce.map.failures.maxpercent。通过允许作业在一定百分比的映射器(读取器)失败的情况下继续进行,这将产生类似的结果。

【讨论】:

嗨,我是在 pig 脚本中还是在其他地方设置它?谢谢! 如果您能就这些设置提出一些建议,那就太好了。我发现我的服务器使用的是过时的猪,所以它不支持 ignore_bad_files 标签。非常感谢!

以上是关于Apache pig:如何将 ignoreBadFiles 标签与加载功能一起使用?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 apache pig 将一个包转换为多个包?

运行 Apache Pig 脚本时如何查找 jar 依赖项?

Apache Pig - 如何维护一个分布式查找表以供我的 python UDF 访问?

使用 Apache Pig 将数据加载到 Hbase 表时,如何排除 csv 或文本文件中没有数据(只有空格)的列?

执行远程 Apache Pig 脚本时如何查看终端日志

Apache Pig 如何在加载功能中加入白名单或黑名单?