zoukankan      html  css  js  c++  java
  • Spark2.x读Hbase1-2.x

    import org.apache.hadoop.hbase.HBaseConfiguration
    import org.apache.hadoop.hbase.mapreduce.TableInputFormat
    import org.apache.hadoop.hbase.util.Bytes
    import org.apache.spark.{SparkConf, SparkContext}
    
    /**
      * 读取HBase表数据
      */
    object SparkOperateHBase {
    
      def main(args: Array[String]): Unit = {
    
        val conf = HBaseConfiguration.create()
        val sc = new SparkContext(new SparkConf())
    
        conf.set(TableInputFormat.INPUT_TABLE,"student")
    
        val stuRDD = sc.newAPIHadoopRDD(conf, classOf[TableInputFormat],
          classOf[org.apache.hadoop.hbase.io.ImmutableBytesWritable],
          classOf[org.apache.hadoop.hbase.client.Result])
    
        stuRDD.cache()
    
        val count = stuRDD.count()
        println("Students RDDCount: " + count)
    
        //读取HBase表数据并打印出来
        stuRDD.foreach({case (_,result) =>
          val key = Bytes.toString(result.getRow)
          val name = Bytes.toString(result.getValue("info".getBytes,"name".getBytes()))
          val gender = Bytes.toString(result.getValue("info".getBytes,"gender".getBytes()))
          val age = Bytes.toString(result.getValue("info".getBytes,"age".getBytes()))
          println("Row key:" + key + " Name: " + name + " Gender: " + gender + " Age: " + age)
        })
    
        //读取HBase表数据并转为RDD
        val resRDD = stuRDD.map(res => {
          val key = Bytes.toString(res._2.getRow)
          val name = Bytes.toString(res._2.getValue("info".getBytes,"name".getBytes()))
          val gender = Bytes.toString(res._2.getValue("info".getBytes,"gender".getBytes()))
          val age = Bytes.toString(res._2.getValue("info".getBytes,"age".getBytes()))
          (key, name, gender, age)
        })
    
      }
    
    }
  • 相关阅读:
    1988-B. 有序集合
    1987-A. 集训队选拔
    1964-NP
    1963-带妹子去看电影
    1962-Fibonacci
    1961-计算机基础知识大赛 2 (new)
    TCP/IP协议详解 卷一:协议 18章、TCP连接的建立与终止
    3、剑指offer--从尾到头打印链表
    2、剑指offer--替换空格
    1、剑指offer--二维数组中查找
  • 原文地址:https://www.cnblogs.com/zxbdboke/p/12749533.html
Copyright © 2011-2022 走看看