在Apache Pig中阅读Snappy压缩的Hive RCFile

时间:2014-07-17 14:44:17

标签: hadoop hive apache-pig

尝试使用Hive

阅读Pig中的http://pig.apache.org/docs/r0.8.1/api/org/apache/pig/piggybank/storage/HiveColumnarLoader.html个文件

Fies的开头有RCFSnappyCodechive.io.rcfile.column.number字样,它们是二进制文件。此外,它们被分区在多个目录上(如/day=20140701)。

然而,加载,分组和计数行的简单脚本不会输出任何内容。如果我尝试添加" ILLUSTRATE"像这样:

rows = LOAD ... using HiveColumnarLoader ...;
ILLUSTRATE rows;

我得到这样的错误:

2014-07-17 14:16:43,086 [main] ERROR org.apache.pig.pen.AugmentBaseDataVisitor - No (valid) input data found!
java.lang.RuntimeException: No (valid) input data found!
    at org.apache.pig.pen.AugmentBaseDataVisitor.visit(AugmentBaseDataVisitor.java:583)
    at org.apache.pig.newplan.logical.relational.LOLoad.accept(LOLoad.java:229)
    at org.apache.pig.pen.util.PreOrderDepthFirstWalker.depthFirst(PreOrderDepthFirstWalker.java:82)
    at org.apache.pig.pen.util.PreOrderDepthFirstWalker.walk(PreOrderDepthFirstWalker.java:66)
    at org.apache.pig.newplan.PlanVisitor.visit(PlanVisitor.java:52)
    at org.apache.pig.pen.ExampleGenerator.getExamples(ExampleGenerator.java:180)
    at org.apache.pig.PigServer.getExamples(PigServer.java:1180)
...

我不确定,是因为Snappy压缩还是指定架构的麻烦(我从hive复制它,描述表格)。

有人可以确认HiveColumnarLoader可以使用snappy压缩文件或提出另一种方法吗?

提前致谢!

1 个答案:

答案 0 :(得分:0)

您是否尝试过HCatLoader?

rows = LOAD' tablename'使用org.apache.hcatalog.pig.HCatLoader();