我在 Pig 中执行了这句话,它起作用了:
源=加载'hbase://DatosBicing' 使用 org.apache.pig.backend.hadoop.hbase.HBaseStorage( 'datos:bikes', '-loadKey true') 作为(id1:int,自行车:int);
我尝试在java中的嵌入式Pig中执行相同的句子。代码是:
runMyQuery(pigServer,"hbase://DatosBicing");
pigServer.registerQuery("source = load '"+ inputFile + "' 使用 org.apache.pig.backend.hadoop.hbase.HBaseStorage("+ "'数据:自行车')"+ “as(id1:chararray,自行车:chararray);”);
当我执行此代码时,出现错误:
org.apache.pig.impl.ologicalLayer.FrontendException:错误 1000:解析期间出错。 Pig 脚本无法解析: Pig 脚本验证失败:java.lang.RuntimeException:无法使用参数“[datos:bikes]”实例化“org.apache.pig.backend.hadoop.hbase.HBaseStorage”
Java 代码中的其他参数有:
PigServer pigServer = new PigServer("本地");
pigServer.registerJar("/usr/lib/hbase/lib/zookeeper.jar");
pigServer.registerJar("/usr/lib/hbase/lib/protobuf-java-2.4.0a.jar");
有人可以帮助我吗?
最佳答案
我认为您可以尝试下面的代码并显示结果。
pigServer.registerQuery("source = load '"+ inputFile + "' USING org.apache.pig.backend.hadoop.hbase.HBaseStorage( " + "'datos:bikes', '-loadKey true')"+ "as (id1:chararray, bikes:chararray) ;");
关于java - 执行 Java 中嵌入的 HBASE 和 Pig 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24068117/