REGISTER 'hdfs:///user/flume/elephant-bird-hadoop-compat-4.1.jar';
REGISTER 'hdfs:///user/flume/elephant-bird-pig-4.1.jar';
REGISTER 'hdfs:///user/flume/elephant-bird-core-4.1.jar';
REGISTER 'hdfs:///user/flume/json-simple-1.1.1.jar';
load_tweets = LOAD '/user/flume/tweets/' USING
com.twitter.elephantbird.pig.load.JsonLoader('-nestedLoad') AS myMap;
即使在pig中注册了使用jsonloader所需的4个jar,我还是得到了以下错误。
[main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1070: Could not
resolve com.twitter.elephantbird.pig.load.JsonLoader using imports: [,
java.lang., org.apache.pig.builtin., org.apache.pig.impl.builtin.]
grunt> hadoop fs -ls /user/flume
...... /user/flume/elephant-bird-hadoop-compat-4.1.jar
...... /user/flume/elephant-bird-pig-4.1.jar
...... /user/flume/elephant-bird-core-4.1.jar
...... /user/flume/json-simple-1.1.1.jar
...... /user/flume/tweets
我做错什么了?
1条答案
按热度按时间dluptydi1#
看来你的jar文件没有注册。
使用导入:[,java.lang.,org.apache.pig.builtin.,org.apache.pig.impl.builtin.]
你在本地模式下跑步吗?
pig -x local
? 否则,您的文件是否放在hdfs上?如果不是本地的,并且您正在从hdfs读取,请将jar文件上传到那里,然后使用