使用saveAsNewAPIHadoopDataSet从Spark存储到HBase时设置NameSpace

时间:2016-12-19 12:14:33

标签: apache-spark hbase cloudera

我正在尝试使用saveHadoopDataSet API将数据从Spark保存到HBase中。请参考以下代码。代码工作正常。但是表存储在默认名称空间中。如何在下面的代码中设置名称空间,以便将表存储在所需的名称空间而不是默认名称。

wordCounts.foreachRDD ( rdd => {
val conf = HBaseConfiguration.create()
conf.set(TableOutputFormat.OUTPUT_TABLE, "stream_count")
conf.set("hbase.zookeeper.quorum", "localhost:2181")
conf.set("hbase.master", "localhost:60000");
conf.set("hbase.rootdir", "file:///tmp/hbase")

val jobConf = new Configuration(conf)
jobConf.set("mapreduce.job.output.key.class", classOf[Text].getName)
jobConf.set("mapreduce.job.output.value.class", classOf[LongWritable].getName)
jobConf.set("mapreduce.outputformat.class", classOf[TableOutputFormat[Text]].getName)

rdd.saveAsNewAPIHadoopDataset(jobConf)   })

1 个答案:

答案 0 :(得分:0)

从邮件列表中得到答案。

Replace <output_table_name> with "<namespace>:<output_table_name>"