尝试使用Hive
http://pig.apache.org/docs/r0.8.1/api/org/apache/pig/piggybank/storage/HiveColumnarLoader.html
个文件
Fies的开头有RCF
,SnappyCodec
和hive.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压缩文件或提出另一种方法吗?
提前致谢!
答案 0 :(得分:0)
您是否尝试过HCatLoader?
rows = LOAD' tablename'使用org.apache.hcatalog.pig.HCatLoader();