我有一堆未压缩的protobuf二进制日志文件(*.binlog)。除了解压缩之外,每个文件/流还包含数量可变的消息。
我正在尝试将这些文件加载到hdfs中,并使用pig查询它们。
我的问题是:
有没有可能用象鸟读取未压缩的文件?我也尝试过读取bzip2编码的文件,但是到目前为止我的尝试给了我 Failed to read from file
错误
我在努力
register '/all-libraries/*.jar';
raw_data = load 'file.binlog' using com.twitter.elephantbird.pig.load.ProtobufPigLoader('my_package.My_proto_Class');
load函数返回时没有错误,但是当我说
value = foreach raw_data generate field1; //doesn't throw error
dump value //throws error
清管器堆放痕迹
错误1066:无法打开别名值的迭代器
org.apache.pig.impl.logicalayer.frontendexception:错误1066:无法打开org.apache.pig.pigserver.openiterator(pigserver)上别名人员电话号码的迭代器。java:892)位于org.apache.pig.tools.grunt.gruntparser.processdump(gruntparser。java:774)在org.apache.pig.tools.pigscript.parser.pigscriptparser.parse(pigscriptparser。java:372)在org.apache.pig.tools.grunt.gruntparser.parsestoponerror(gruntparser。java:198)在org.apache.pig.tools.grunt.gruntparser.parsestoponerror(gruntparser。java:173)在org.apache.pig.tools.grunt.grunt.run(grunt。java:69)在org.apache.pig.main.run(main。java:541)在org.apache.pig.main.main(main。java:156)在sun.reflect.nativemethodaccessorimpl.invoke0(本机方法)位于sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl)。java:57)在sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl。java:43)在java.lang.reflect.method.invoke(方法。java:606)在org.apache.hadoop.util.runjar.run(runjar。java:221)在org.apache.hadoop.util.runjar.main(runjar。java:136)原因:java.io.ioexception:作业终止,异常状态为org.apache.pig.pigserver.openiterator(pigserver)失败。java:884) ... 13个以上
不,如果这是可能的,有人给我一个提示吗?我怎么指挥 ProtobufPigLoader
在阅读信息之前先阅读信息长度?
暂无答案!
目前还没有任何答案,快来回答吧!