2012-07-20 187 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

通常情况下,你不应该需要先解压缩文件,但它是很难找出什么地方出了错不上的错误信息的任何细节