jjzjj

loadfunc

全部标签

java - 在 LoadFunc.getNext() 中跳过一条记录

我正在扩展LoadFunc。在getNext函数中,我想跳过在某些条件下返回元组的步骤——这样我只能加载数据文件的样本。我尝试为不想返回的行返回null,但问题是该方法在返回第一个null元组后终止。有谁知道这样做的方法吗?我应该用不同的方法来做吗?提前致谢。 最佳答案 (假设你的意思是LoadFunc在pig...)我建议编写一个新方法来执行您想要的操作,而不会破坏getNext()方法的原始记录使用。您应该查看扩展LoadFunc的Pig类的源代码,了解它们如何实现getNext()。例如:TextLoader从那里做你想做的事

hadoop - 使用 loadfunc pig UDF 将 protobuf 格式文件加载到 pig 脚本中

我对pig知之甚少。我有protobuf格式的数据文件。我需要将此文件加载到pig脚本中。我需要编写一个LoadFuncUDF来加载它。说函数是Protobufloader()。我的PIG脚本是A=LOAD'abc_protobuf.dat'USINGProtobufloader()as(name,phonenumber,email);我只想知道如何获取文件输入流。一旦我掌握了文件输入流,我就可以将数据从protobuf格式解析为PIG元组格式。PS:提前致谢 最佳答案 Twitter的开源库elephantbird有很多这样的加载

java - Pig 自定义 loadFunc 始终使用 1 个映射器和 1 个 inputSplit

我使用自定义InputFormat和RecordReader创建了自定义loadFunc。每当InputFormat返回多个输入拆分时,PigSplit始终仅包含一个输入拆分并且仅使用一个映射器。实现太大,无法在此处发布,但是否有任何明显的原因可能导致这种情况发生?编辑:我正在使用pig0.13并且通过添加一些日志记录我发现Loadfunc创建的InputFormat返回包含两个输入拆分的列表,然后PigInputFormat使用此列表创建PigSplits.我仍然找不到Pig在哪里省略了这些输入拆分中的一个而只使用了第一个。这是PigInputFormat.java(src)第273

hadoop - 无法从 loadFunc org.apache.pig.builtin.AvroStorage 获取架构

我在运行pig脚本时遇到以下错误REGISTER/opt/cloudera/parcels/CDH/lib/pig/lib/avro.jarREGISTER/opt/cloudera/parcels/CDH/lib/pig/lib/json-simple-1.1.jarREGISTER/opt/cloudera/parcels/CDH/lib/pig/lib/jackson-core-asl-1.8.8.jarREGISTER/opt/cloudera/parcels/CDH/lib/pig/lib/jackson-mapper-asl-1.8.8.jarREGISTER/opt/cl

hadoop - 关于 LoadFunc 的示例和更多解释

在哪里可以找到有关LoadFunc的更多信息/示例。除了http://web.archive.org/web/20130701024312/http://ofps.oreilly.com/titles/9781449302641/load_and_store_funcs.html我没有看到任何使用新LoadFuncAPI的示例。谁能告诉我在哪里可以找到一些编写LoadUDF的示例? 最佳答案 从0.7.0开始,Pig加载器扩展了LoadFunc抽象类。这意味着它们需要覆盖4个方法:getInputFormat()此方法向调用者返回加