这是这个的延续
我的新剧本是:
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移动到完全相同位置的所有数据节点。我不知道还能去哪里查。有人能给点建议吗?
2条答案
按热度按时间ltqd579y1#
你错过了
;
到处6jjcrrmo2#
这是我的机器出了点问题,而不是Pig出了什么问题。我重启了机器,一切都很顺利。