Hello,

I am trying to store an alias into mongo and getting an error. 

Example script:

REGISTER mongo-hadoop-pig-1.2.1-SNAPSHOT-hadoop_2.4.jar
REGISTER mongo-2.4.jar

categories_raw = LOAD 
'mongodb://username:password@mydb...:27017/db.categories?authSource=admin' 
USING com.mongodb.hadoop.pig.MongoLoader();

doing a dump the load went fine, I indeed have my data. 
Now just trying to dump it back:

store categories_raw into 
'mongodb://username:password@mydb...:27017/db.categories_pig?authSource=admin' 
USING com.mongodb.hadoop.pig.MongoInsertStorage(); 

I get this error:
FATAL org.apache.hadoop.mapred.Child (main): Error running child : 
java.lang.IncompatibleClassChangeError: Found class 
org.apache.hadoop.mapreduce.TaskAttemptContext, but interface was expected
        at 
com.mongodb.hadoop.MongoOutputFormat.getRecordWriter(MongoOutputFormat.java:48)
        at 
org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigOutputFormat.getRecordWriter(PigOutputFormat.java:84)
        at 
org.apache.hadoop.mapred.MapTask$NewDirectOutputCollector.<init>(MapTask.java:635)
        at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:760)
        at org.apache.hadoop.mapred.MapTask.run(MapTask.java:375)
        at org.apache.hadoop.mapred.Child$4.run(Child.java:255)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:415)
        at 
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1132)
        at org.apache.hadoop.mapred.Child.main(Child.java:249)
I am using EMR with 
Pig 0.11.1.1
AMI version 2.4.2, Hadoop 1.0.3

I am somewhat new to pig… Switched after I’ve had enough of Hive bugs, but 
starting to regret that ;)

Any help is appreciated!

Sharon

Reply via email to