Spark读取Hbase内容

2 篇文章 0 订阅

不啰嗦直接看代码

    //初始化Hbase的基本配置
    val hbaseConf = HBaseConfiguration.create()
    hbaseConf.set("hbase.zookeeper.quorum", "地址")
    
    val scan = new Scan();
    scan.addFamily(Bytes.toBytes("c"))//要读取的列簇
    scan.setTimeStamp(timeStamp)//指定一个要读取的版本(如果只是拿列修饰符对应最新,可以不写)
    scan.withStartRow(Bytes.toBytes(startRow))//要遍历的rowkey开始值(可以精确的也可以只是前缀),如果是全表可以不写
    scan.withStopRow(Bytes.toBytes(stopRow))//要遍历的rowkey结束值(可以精确的也可以只是前缀),如果是全表可以不写
   
    hbaseConf.set(TableInputFormat.SCAN, Base64.encodeBytes(ProtobufUtil.toScan(scan).toByteArray))
    hbaseConf.set(TableInputFormat.INPUT_TABLE, Hbase的表名)


      /**
       * 初始化spark
       */
    val sparkName = ”read_Hbase“
    val sparkConf = new SparkConf().setAppName(sparkName)
        .set("spark.serializer", "org.apache.spark.serializer.KryoSerializer")
        .set("spark.kryoserializer.buffer.max.mb", "512")
    val sc = new SparkContext(sparkConf)

      /**获取hbase数据*/
    val dataRDD: RDD[(ImmutableBytesWritable, Result)] =sc.newAPIHadoopRDD(hbaseConf, classOf[TableInputFormat], classOf[ImmutableBytesWritable],classOf[Result])


      

      上面代码要读取Hbase数据、先初始化Hbase相关信息,主要的还是Scan信息,制定了要读取什么数据,当然这里只是罗列了常用的还有其他的条件可以加入。然后再是初始化Spark上下文。最后就行调用Spark获取数据。

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值