我正在尝试使用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) })
答案 0 :(得分:0)
从邮件列表中得到答案。
Replace <output_table_name> with "<namespace>:<output_table_name>"