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

    import org.apache.hadoop.hbase.io.ImmutableBytesWritable
    import org.apache.hadoop.hbase.mapreduce.TableOutputFormat
    import org.apache.hadoop.hbase.client.Result
    import org.apache.hadoop.hbase.client.Put
    import org.apache.hadoop.mapreduce.Job
    import org.apache.hadoop.hbase.util.Bytes
    import org.apache.spark.{SparkConf, SparkContext}
    
    
    /**
      * Spark写HBase
      */
    object SparkWriteHbase {
    
      def main(args: Array[String]): Unit = {
    
        val conf = new SparkConf().setAppName("SparkWriteHBase").setMaster("local")
        val sc = new SparkContext(conf)
        val tableName = "student"
    
    
        sc.hadoopConfiguration.set(TableOutputFormat.OUTPUT_TABLE, tableName)
    
        val job = new Job(sc.hadoopConfiguration)
    
        job.setOutputKeyClass(classOf[ImmutableBytesWritable])
        job.setOutputValueClass(classOf[Result])
        job.setOutputFormatClass(classOf[TableOutputFormat[ImmutableBytesWritable]])
    
    
    
        val inDataRDD = sc.makeRDD(Array("3,Rongcheng,M,26","4,Guanhua,M,27"))
    
        val rdd = inDataRDD.map(_.split(",")).map(arr=>{
          val put = new Put(Bytes.toBytes(arr(0)))
          put.addColumn(Bytes.toBytes("info"),Bytes.toBytes("name"),Bytes.toBytes(arr(1)))
          put.addColumn(Bytes.toBytes("info"),Bytes.toBytes("gender"),Bytes.toBytes(arr(2)))
          put.addColumn(Bytes.toBytes("info"),Bytes.toBytes("age"),Bytes.toBytes(arr(3)))
          (new ImmutableBytesWritable(),put)
        })
    
        rdd.saveAsNewAPIHadoopDataset(job.getConfiguration)
    
    
      }
    
    }
  • 相关阅读:
    [SCOI2013]火柴棍数字(背包)
    [NOI2015]品酒大会
    后缀数组小结
    [POI2009]Slw
    [POI2009]Wie
    [POI2008]账本BBB
    ant语法和规范
    使用Hudson进行持续集成
    gnu make
    可信执行环境(TEE)介绍
  • 原文地址:https://www.cnblogs.com/zxbdboke/p/12749534.html
Copyright © 2011-2022 走看看