尝试将 pig 输出存储到 Hive 表时出错

Posted

技术标签:

【中文标题】尝试将 pig 输出存储到 Hive 表时出错【英文标题】:Error while trying to store pig output to the Hive Table 【发布时间】:2017-04-28 11:11:39 【问题描述】:

我在数据库 testdb 下创建了 Hive 表:

创建表tbl2(年份字符串,DeptTime字符串,ArrTime字符串)存储为ORC;

之后我创建了以下 Pig 脚本:

A = LOAD '/test/input/' USING PigStorage(',') AS (year:chararray,ArrTime:chararray,DeptTime:chararray);

描述一个;

转储 A;

在执行上述脚本时,它运行良好。

但是添加以下行来存储 pig 输出到 hive 会引发错误。

A = LOAD '/test/input/' USING PigStorage(',') AS (year:chararray,ArrTime:chararray,DeptTime:chararray);

描述一个;

转储 A;

使用 org.apache.hive.hcatalog.pig.HCatStorer() 将 A 存储到“testdb.tbl2”中;

使用 PIG 参数 -useHCatalog

错误:

ls: 无法访问'/mnt/resource/hadoop/yarn/local/usercache/admin/appcache/application_1493274253049_0026/container_1493274253049_0026_01_000002/hive.tar.gz/hive/lib/slf4j-api-*.jar': 没有文件或目录 ls: 无法访问 '/mnt/resource/hadoop/yarn/local/usercache/admin/appcache/application_1493274253049_0026/container_1493274253049_0026_01_000002/hive.tar.gz/hive/hcatalog/lib/hbase-storage-handler- .jar':

【问题讨论】:

【参考方案1】:

您是否启动了 hive thrift 服务器?如果没有,使用下面的命令然后检查

hive --service metatore

【讨论】:

我在 Azure 上使用 HDInsight 群集。我如何检查 hive thrift 服务器是否已启动?我是 hadoop 世界的新手。

以上是关于尝试将 pig 输出存储到 Hive 表时出错的主要内容,如果未能解决你的问题,请参考以下文章

将数据插入 HIVE 表时出错

将数据从 HDFS 复制到 Hive 中的外部表时出错

将数据从 CSV 文件映射到 HDFS 上的 Hive 表时出错

从 PySpark 查询 Hive 表时出错

Pyspark - 将数据保存到 Hive 表时出错“未解析的运算符'InsertIntoTable HiveTableRelation'”

Hive - 将数据复制到表中时出错