我希望能够在春天使用HBase。我能看到的文件有一些说法:
<hdp:configuration>
fs.default.name=${hd.fs}
mapred.job.tracker=${mapred.job.tracker}
hbase.zookeeper.quorum=${hbase.zookeeper.quorum}
</hdp:configuration>
我如何在我的Application.java中以编程方式使用它?似乎没有关于如何使用HBaseTemplate连接到hbase的示例或文档。按照另一篇文章中的建议查看以下存储库没有与hbase相关的示例:
答案 0 :(得分:0)
目前我还没有为hdp:configuration找到基于注释的配置,但是对于我的Spring-Hadoop项目,我已经为haddop配置创建了一个xml hadoop-context.xml 并导入它在Config.java中如下
@Configuration
@ImportResource ( "hadoop-context.xml")
public class Config
{
@Autowired
private org.apache.hadoop.conf.Configuration hadoopConfiguration;
}
最有可能的是,在你的情况下解决问题会有所帮助。
答案 1 :(得分:0)
我知道问题已经过时了,但我刚刚遇到这个问题并且能够解决。实现SpringHadoopConfigurerAdapter,如:
@Configuration
@EnableHadoop
public class HadoopConfiguration extends SpringHadoopConfigurerAdapter {
@Autowired
private ResourceLoader resourceLoader;
@Override
public void configure(HadoopConfigConfigurer config) throws Exception {
org.apache.hadoop.conf.Configuration conf = getHadoopConfig("classpath:/mapred-site.xml");
config
.withResources()
.resource("classpath:/yarn-site.xml")
.resource("classpath:/hbase-site.xml")
.resource("classpath:/mapred-site.xml")
.and()
.withProperties()
.property("mapreduce.app-submission.cross-platform", "true")
.property("mapreduce.framework.name", "yarn")
.property("mapreduce.application.framework.path", "")
.property("mapreduce.map.log.level", "INFO")
.property("mapreduce.reduce.log.level", "INFO")
.property("hbase.client.scanner.caching", "1")
.property("hbase.client.scanner.timeout.period", "300000")
.property("hbase.rpc.timeout", "300000");
}
private org.apache.hadoop.conf.Configuration getHadoopConfig(String mrSiteFile) throws IOException {
Resource mapRedSite = resourceLoader.getResource(mrSiteFile);
org.apache.hadoop.conf.Configuration conf = new org.apache.hadoop.conf.Configuration();
conf.addResource(mapRedSite.getInputStream());
return conf;
}
}
然后您就可以注入HadoopConfiguration:
@Autowired
org.apache.hadoop.conf.Configuration hadoopConfiguration;
答案 2 :(得分:-1)
您是否看过这个:http://docs.spring.io/spring-hadoop/docs/2.0.1.RELEASE/reference/html/hbase.html?我相信这给你相当于HBaseConfiguration配置。您也可以在那里添加您的属性。如果没有帮助,请回复。