运行HCatalog时出错

Hea*_*er' 5 hadoop hive apache-pig hcatalog

A = LOAD 'eventnew.txt' USING HCatalogLoader();
Run Code Online (Sandbox Code Playgroud)

2015-07-08 19:56:34,875 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1070:无法使用导入解析HCatalogLoader:[,java.lang.,org.apache.pig.builtin .,org.apache.pig.impl.builtin.]日志文件的详细信息:/home/KS5023833/pig_1436364102374.log

然后我试了一下

 A = LOAD 'xyz' USING org.apache.hive.hcatalog.pig.HCatLoader();
Run Code Online (Sandbox Code Playgroud)

这也行不通.

1070:无法使用导入解析org.apache.hive.hcatalog.pig.HCatLoader:[,java.lang.,org.apache.pig.builtin.,org.apache.pig.impl.builtin.]

问题是什么?我是Hadoop的新手.

Jak*_*ke_ 4

正如 GoBrewers14 所说,您必须使用 -useHCatalog 启动 pig。如果您正在运行 Pig 脚本,另一种方法是确定 HCatalog jar 的位置,并将包含 jar 路径的 REGISTER 语句添加到脚本顶部

例子:

REGISTER /home/user/Installations/hive-0.11.0-bin/hcatalog/share/hcatalog/hcatalog-core-0.11.0.jar;

当然,您的路径/版本可能不同。

  • 微不足道,但只是为了向新手澄清:通常只调用“pig”的地方,现在可以简单地调用“pig -useHCatalog”(注意大小写)。因此,这可以用于在终端中运行,或者用于使用“pig -useHCatalog -f yourscript.pig”调用脚本。当然,对于任何包含“HCatStorer”的脚本来说,这也是必需的。 (2认同)