Hive 无法通过HCatalog将配置单元表加载到Pig中
我目前正在使用CentOS 6.5配置Cloudera HDP开发人员映像,安装基座,然后根据需要添加不同的组件。目前,我正在使用上面链接的教程安装/测试HCatalog 我已经成功安装了该软件包,现在正在使用以下脚本测试HCatalog与Pig的集成:Hive 无法通过HCatalog将配置单元表加载到Pig中,hive,apache-pig,cloudera,hcatalog,Hive,Apache Pig,Cloudera,Hcatalog,我目前正在使用CentOS 6.5配置Cloudera HDP开发人员映像,安装基座,然后根据需要添加不同的组件。目前,我正在使用上面链接的教程安装/测试HCatalog 我已经成功安装了该软件包,现在正在使用以下脚本测试HCatalog与Pig的集成: A = LOAD 'groups' USING org.apache.hcatalog.pig.HCatLoader(); DESCRIBE A; 在运行命令之前,我已经在配置单元中创建并填充了一个“groups”表。当我使用命令pig-u
A = LOAD 'groups' USING org.apache.hcatalog.pig.HCatLoader();
DESCRIBE A;
在运行命令之前,我已经在配置单元中创建并填充了一个“groups”表。当我使用命令pig-useHCatalog test.pig运行脚本时,我得到的是一个异常,而不是预期的输出。下面是stacktrace的初始部分:
Pig Stack Trace
---------------
ERROR 2245: Cannot get schema from loadFunc org.apache.hcatalog.pig.HCatLoader
org.apache.pig.impl.logicalLayer.FrontendException: ERROR 1000: Error during parsing. Cannot get schema from loadFunc org.apache.hcatalog.pig.HCatLoader
at org.apache.pig.PigServer$Graph.parseQuery(PigServer.java:1608)
at org.apache.pig.PigServer$Graph.registerQuery(PigServer.java:1547)
at org.apache.pig.PigServer.registerQuery(PigServer.java:518)
at org.apache.pig.tools.grunt.GruntParser.processPig(GruntParser.java:991)
at org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.java:412)
...
以前有人遇到过这个错误吗?任何帮助都将不胜感激。如果您需要,我很乐意提供更多信息。此错误是由于HBase的Thrift server配置不正确造成的。我安装/配置了Thrift,并将以下内容添加到我的hive-xml.site中,并添加了适当的服务器信息:
<property>
<name>hive.metastore.uris</name>
<value>thrift://<!--URL of Your Server-->:9083</value>
<description>IP address (or fully-qualified domain name) and port of the metastore host</description>
</property>
hive.metastore.uris
节俭:/:9083
metastore主机的IP地址(或完全限定的域名)和端口
我认为上面的代码段不是必需的,因为我在伪分布式模式下运行Cloudera HDP。事实证明,it和HBase Thrift需要将HCatalog与Pig一起使用。您尝试过指定模式吗?我尝试过,谢谢您的建议。原来我的HBase Thrift服务器配置不正确。一旦我配置了它并将URL添加到我的hive-site.xml文件中,一切都正常了。