Spark實現HIVE統計結果匯入到HBase操作
阿新 • • 發佈:2018-12-30
由於HIVE更新的機制極其不適應SPARK環境,於是利用HBase來執行HIVE中某些統計結果的更新。首先要做的是實現Spark + Hive訪問,得到RDD,再將這個RDD匯入到HBase中操作。
然而網上關於這一塊目前資料還真很少。但是其原理總體上來說是非常簡單的。
步驟主要是兩步:
(1)開啟hive聯結器,實現spark + hive的訪問,得到dataframe物件。
然而網上關於這一塊目前資料還真很少。但是其原理總體上來說是非常簡單的。
步驟主要是兩步:
(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資料.