944
技術社區[雲棲]
Spark + HBase__Spark_開發人員指南_E-MapReduce-阿裏雲
Spark + Hbase
Spark 接入 Hbase
下麵這個例子演示了 Spark 如何向 Hbase 寫數據。需要指出的是,計算集群需要和 Hbase 集群處於一個安全組內,否則網絡無法打通。在 E-Mapreduce 創建集群時,請注意選擇 Hbase 集群所處的安全組。
object ConnectionUtil extends Serializable {
private val conf = HBaseConfiguration.create()
conf.set(HConstants.ZOOKEEPER_QUORUM,"ecs1,ecs1,ecs3")
conf.set(HConstants.ZOOKEEPER_ZNODE_PARENT, "/hbase")
private val connection = ConnectionFactory.createConnection(conf)
def getDefaultConn: Connection = connection
}
//創建數據流 unionStreams
unionStreams.foreachRDD(rdd => {
rdd.map(bytes => new String(bytes))
.flatMap(line => line.split(" "))
.map(word => (word, 1))
.reduceByKey(_ + _)
.mapPartitions {words => {
val conn = ConnectionUtil.getDefaultConn
val tableName = TableName.valueOf(tname)
val t = conn.getTable(tableName)
try {
words.sliding(100, 100).foreach(slice => {
val puts = slice.map(word => {
println(s"word: $word")
val put = new Put(Bytes.toBytes(word._1 + System.currentTimeMillis()))
put.addColumn(COLUMN_FAMILY_BYTES, COLUMN_QUALIFIER_BYTES,
System.currentTimeMillis(), Bytes.toBytes(word._2))
put
}).toList
t.put(puts)
})
} finally {
t.close()
}
Iterator.empty
}}.count()
})
ssc.start()
ssc.awaitTermination()
附錄
完整示例代碼請看:
最後更新:2016-12-19 19:38:30
上一篇:
Spark + MNS__Spark_開發人員指南_E-MapReduce-阿裏雲
下一篇:
spark-submit 參數設置說明__Spark_開發人員指南_E-MapReduce-阿裏雲
DeleteObject__關於Object操作_API 參考_對象存儲 OSS-阿裏雲
切換主備實例__實例管理_用戶指南_雲數據庫 RDS 版-阿裏雲
動作列表__RAM子用戶訪問_API-Reference_日誌服務-阿裏雲
修改共享帶寬包-增加公網IP__NAT網關相關接口_API 參考_雲服務器 ECS-阿裏雲
創建主題__主題操作_快速入門_消息服務-阿裏雲
雲服務器 ECS 加強雲服務器安全
405錯誤___排錯手冊_Web 應用防火牆-阿裏雲
刪除水印模板__水印模板接口_API使用手冊_媒體轉碼-阿裏雲
RAM子用戶使用__Getting-Started_日誌服務-阿裏雲
iOS 推流SDK使用說明__SDK文檔及下載_API及SDK_視頻直播-阿裏雲
相關內容
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲