1. 程式人生 > >Spark實現HIVE統計結果匯入到HBase操作

Spark實現HIVE統計結果匯入到HBase操作

由於HIVE更新的機制極其不適應SPARK環境,於是利用HBase來執行HIVE中某些統計結果的更新。首先要做的是實現Spark + Hive訪問,得到RDD,再將這個RDD匯入到HBase中操作。

然而網上關於這一塊目前資料還真很少。但是其原理總體上來說是非常簡單的。

步驟主要是兩步:

(1)開啟hive聯結器,實現spark + hive的訪問,得到dataframe物件。

(2)對dataframe進行RDD轉換,進行hbase的批量匯入bulkput函式來實現。

hbaseContext.bulkPut[Row](rddFromSql.rdd,
      tableName,
      (putRecord) => {
        val put = new Put(Bytes.toBytes(putRecord.getString(0)))
        put.add(Bytes.toBytes(columnFamily1),Bytes.toBytes("receiver"),Bytes.toBytes(putRecord.getString(1)))
        put.add(Bytes.toBytes(columnFamily1),Bytes.toBytes("count"),Bytes.toBytes(putRecord.getLong(2)))
        put
      },
      true);

執行成功,成功匯入600W資料.