Pig Job 使用 Elephant Bird jsonLoader 时挂起
Posted
技术标签:
【中文标题】Pig Job 使用 Elephant Bird jsonLoader 时挂起【英文标题】:Pig Job hangs when using Elephant Bird jsonLoader 【发布时间】:2016-10-20 15:03:02 【问题描述】:这是this的延续
我的新猪脚本是:
register /usr/hdp/current/pig-client/lib/piggybank.jar
register /opt/elephantbird-jars/elephant-bird-core-4.5.jar
register /opt/elephantbird-jars/elephant-bird-hadoop-compat-4.5.jar
register /opt/elephantbird-jars/elephant-bird-pig-4.5.jar
register /opt/elephantbird-jars/json-simple-1.1.1.jar
data_input = LOAD 'local/path/for/hdfs/files' USING com.twitter.elephantbird.pig.load.JsonLoader() AS (json:map[]);
x = FOREACH data_input GENERATE json#'actor__id' AS actor_id, json#'actor__image__url' AS actor_image_url, json#'actor__displayName' AS actor_displayname, json#'actor__verification__adHocVerified' AS actor_verification, json#'actor__url' AS actor_url;
STORE x INTO '/tmp/user_posts' USING JsonStorage();
此代码在本地模式下工作:pig -x local user_posts.pig
但在 mapreduce 模式下失败:pig -x mapreduce user_posts.pig
我将 jar 移动到完全相同位置的所有数据节点。我不知道在哪里可以检查。有人可以指点一下吗?
【问题讨论】:
【参考方案1】:你到处都找不到;
REGISTER '/me/home/elephant-bird-core-4.12.jar';
REGISTER '/me/home/elephant-bird-pig-4.12.jar';
REGISTER '/me/home/elephant-bird-hadoop-compat-4.12.jar';
【讨论】:
【参考方案2】:这是我的机器有问题,而猪没有任何问题。我重新启动了机器,一切顺利。
【讨论】:
如果您同意这个问题不太可能帮助未来的访问者,请删除它以保持网站清洁。以上是关于Pig Job 使用 Elephant Bird jsonLoader 时挂起的主要内容,如果未能解决你的问题,请参考以下文章
Elephant Bird Pig TypeRef ClassNotFoundException
PIG 中 Elephant-Bird UDF 中的 JSON 数组字段处理
无法使用 Pig 中的 Elephant Bird 访问带有包和元组的嵌套 JSON
Pig Elephant-Bird 找到接口 org.apache.hadoop.mapreduce.JobContext,但是应该有类