spark 数据写入到 hbase

本文介绍了如何使用Spark将数据写入HBase,主要涉及PairRddFunctions的saveAsHadoopDataset方法和Hadoop的TableInputFormat。通过SparkSQL从Hive读取数据,处理后利用Hadoop的配置写入HBase。在操作过程中,注意到Dataset是Spark SQL的强类型API,其操作是延迟执行的,并需要Encoder进行转换,但可以将其转换为RDD简化工作流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 jobConf = new JobConf(config)
    jobConf.setOutputFormat(classOf[TableOutputFormat])
    jo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值