Question

I have a jar file MapReduce that I'd like to run on s3. It takes two args, an input dir and an output file.

So I tried the following command using the elastic-mapreduce ruby cmd line tool:

elastic-mapreduce -j j-JOBFLOW --jar s3n://this.bucket.com/jars/this.jar --arg s3n://this.bucket.com/data/ --arg s3n://this.bucket.com/output/this.csv

This failed with error

Exception in thread "main" java.lang.ClassNotFoundException: s3n://this/bucket/com/data/

So I tried it using --input and --output after the respective args. That failed too with an error on the --input class not being found (seems like it couldn't decipher --input and not that it couldn't decipher the argument after input)

This seems like such a basic thing, yet I'm having trouble getting it to work. Any help is much appreciated. Thanks.

Was it helpful?

Solution

Try:

elastic-mapreduce --create --jar s3n://this.bucket.com/jars/this.jar --args "s3n://this.bucket.com/data/,s3n://this.bucket.com/output/this.csv"

Double check your jar,input data are there:

s3cmd ls s3://this.bucket.com/data/
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top