2013-05-07 89 views
1

我在http://blog.springsource.org/2012/02/29/introducing-spring-hadoop/配置HADOOP工作與Javaconfig

以下,現在春天HADOOP的介紹頁的示例配置是基於XML的。以下代碼描述了wordCount示例。

<!-- define the job --> 
<hdp:job id="word-count" 
    input-path="/input/" output-path="/ouput/" 
    mapper="org.apache.hadoop.examples.WordCount.TokenizerMapper" 
    reducer="org.apache.hadoop.examples.WordCount.IntSumReducer"/> 

<!-- execute the job --> 
<bean id="runner" class="org.springframework.data.hadoop.mapreduce.JobRunner" 
       p:jobs-ref="word-count"/> 

有配置與Javaconfig這個例子的方法嗎?

回答

-1

您可以通過使用Configuration對象的各種.set()方法,像這樣以編程方式設置Hadoop配置:

Configuration conf = new Configuration(); 
conf.set("example.foo", "bar"); 
+1

這使得該解決方案少彈性。我的意思是帶有註釋的javaconfig解決方案,就像下面的帖子http://www.mkyong.com/spring3/spring-3-javaconfig-example/ – 2013-05-07 11:21:01

+0

據我所知基於註解的配置系統不存在,這是我從java內部知道的唯一解決方案。如果你喜歡,你可以通過'-Dexample.foo = bar'在命令行上設置它們,儘管當你開始你的hadoop作業時。 – Quetzalcoatl 2013-05-07 11:43:58

+0

當前版本的Spring for Hadoop 1.0尚不支持Hadoop組件的註釋。從此版本開始,只有配置的方式是使用.xml文件 – 2013-05-07 14:50:34

0
@Configuration 
@EnableHadoop 
@PropertySource(value={"classpath:config/hadoop.properties"}) 
public class HadoopConfiguration extends SpringHadoopConfigurerAdapter { 
@Override 
public void configure(HadoopConfigConfigurer config) throws Exception { 
    Properties props = new Properties(); 
    config.fileSystemUri("hdfs://"); 
    config.withProperties(props).property("propkey", "propvalue").and(); 
} 
}