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 脚本时如何查找 jar 依赖项?
Apache Pig - 如何维护一个分布式查找表以供我的 python UDF 访问?