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)
        })
    
      }
    
    }
  • 相关阅读:
    session 、cookie、token的区别
    翻译-In-Stream Big Data Processing 流式大数据处理
    一致性hash算法
    HA 部署wordpress
    HA 高可用mysql集群
    JVM内存监视手段和内存溢出解决方案
    vmware linux NAT CON
    spring SOA architecture
    思路
    cookie和session得区别
  • 原文地址:https://www.cnblogs.com/zxbdboke/p/12749533.html
Copyright © 2011-2022 走看看