溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用Spark分析云HBase的數(shù)據(jù)

發(fā)布時間:2021-12-09 10:38:54 來源:億速云 閱讀:244 作者:小新 欄目:大數(shù)據(jù)

這篇文章將為大家詳細講解有關如何使用Spark分析云HBase的數(shù)據(jù),小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

1 云HBase查詢分析的現(xiàn)狀

  • HBase原生API:HBase原生API適合基于row key做點查,這個是HBase最擅長的查詢場景

  • Phoenix:Phoenix作為HBase的SQL層,使用二級索引的技術,擅長多條件組合查詢;Phoenix沒有自己的計算資源,類似groupby這樣的復雜查詢需要借助HBase的協(xié)處理器來完成,這樣一方面性能不好,同時會影響HBase集群的穩(wěn)定性;

  • Spark:具有豐富的算子支持復雜分析,使用Spark集群的計算資源,通過并發(fā)分析的方式可以提高性能,同時不影響HBase集群的穩(wěn)定性。

2 Spark分析HBase的方式對比

Spark分析HBase數(shù)據(jù)有“RDD API”、“SQL API”、“HFILE”三種方式,相關對比如下:如何使用Spark分析云HBase的數(shù)據(jù)

對于數(shù)據(jù)動態(tài)更新增加的小表推薦使用SQL API的方式,可以有效的優(yōu)化分析,減少對HBase集群穩(wěn)定性的影響;對于靜態(tài)表或者全量靜態(tài)表的分析推薦使用分析HFILE的方式直讀HDFS,這樣可以完全不影響HBase集群穩(wěn)定性;不推薦使用RDD API 的方式,這種方式一方?jīng)]有優(yōu)化性能差,同時在高并發(fā)以及表數(shù)據(jù)量大時,會嚴重影響HBase集群的穩(wěn)定性,從而影響在線業(yè)務。

3 三種方式的具體使用

云HBase團隊為大家提供了一個github項目供大家參考使用上面的三種方式來開發(fā)Spark分析HBase的程序,項目地址:

https://github.com/lw309637554/alicloud-hbase-spark-examples?spm=a2c4e.11153940.blogcont573569.14.1b6077b4MNpI9X

  • 依賴項:需要下載云HBase及云Phoenix的client包

  • 分析HFILE:

    • 需要先開通云HBase的HDFS訪問權限,參考文檔

    • 在hbase shell中對表生成snapshot表“snapshot 'sourceTable', ‘snapshotName'”

    • 在項目中配置自己的hdfs-sit.xml文件,然后通過直讀HDFS的方式分析snapshot表

  • 具體的example

    • RDD API對應:org.apache.spark.hbase.NativeRDDAnalyze

    • SQL API對應:org.apache.spark.sql.execution.datasources.hbase.SqlAnalyze

    • 分析HFILE對應:org.apache.spark.hfile.SparkAnalyzeHFILE

關于“如何使用Spark分析云HBase的數(shù)據(jù)”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI