2012-07-20 87 views
0

我有一個MR工作,閱讀Amazon S3的文件和進程中的當地HDFS的數據。這些文件被壓縮爲.gz文本文件。我試圖設置下面的工作,但它不會工作,任何人都知道什麼可能是錯的?我是否需要添加額外的步驟來先解壓文件?使用S3作爲MapReduce工作輸入

謝謝!

String S3_LOCATION = "s3n://access_key:[email protected]_name" 

protected void prepareHadoopJob() throws Exception {  

    this.getHadoopJob().setMapperClass(Mapper1.class); 
    this.getHadoopJob().setInputFormatClass(TextInputFormat.class); 

FileInputFormat.addInputPath(this.getHadoopJob(), new Path(S3_LOCATION)); 

this.getHadoopJob().setNumReduceTasks(0); 
this.getHadoopJob().setOutputFormatClass(TableOutputFormat.class); 
this.getHadoopJob().getConfiguration().set(TableOutputFormat.OUTPUT_TABLE, myTable.getTableName()); 
this.getHadoopJob().setOutputKeyClass(ImmutableBytesWritable.class); 
this.getHadoopJob().setOutputValueClass(Put.class); 
} 

回答

0

通常情況下,你不應該需要先解壓縮文件,但它是很難找出什麼地方出了錯不上的錯誤信息的任何細節