1)spark把数据写入到hbase需要用到:PairRddFunctions的saveAsHadoopDataset方法,这里用到了 implicit conversion,需要我们引入
import org.apache.spark.SparkContext._
2)spark写入hbase,实质是借用了org.apache.hadoop.hbase.mapreduce.TableInputFormat这个对象,用其内部的recorderWriter将数据写入hbase
同时,也借用了hadoop的JobConf,配置和写MR的配置方式一样
3)请看下面代码,这里使用sparksql从hive里面读出数据,经过处理,写入到hbase
package savehbase
import org.apache.hadoop.hbase.HBaseConfiguration
import org.apache.hadoop.hbase.client.Put
import org.apache.hadoop.hbase.io.ImmutableBytesWritable
import org.apache.hadoop.hbase.mapred.TableOutputFormat
import org.apache.hadoop.hbase.util.Bytes
import org.apache.hadoop.mapred.JobConf
import org.apache.spark.sql.hive.HiveContext
import org.apache.spark.{SparkConf, SparkContext}
object SaveHbase3 {
def main(args: Array[String]): Unit = {
val config = HBaseConfiguration.create()
val jobCo