Hive 无法通过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

我目前正在使用CentOS 6.5配置Cloudera HDP开发人员映像,安装基座,然后根据需要添加不同的组件。目前,我正在使用上面链接的教程安装/测试HCatalog

我已经成功安装了该软件包,现在正在使用以下脚本测试HCatalog与Pig的集成:

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文件中,一切都正常了。