您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關如何使用Spark分析云HBase的數據,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
HBase原生API:HBase原生API適合基于row key做點查,這個是HBase最擅長的查詢場景
Phoenix:Phoenix作為HBase的SQL層,使用二級索引的技術,擅長多條件組合查詢;Phoenix沒有自己的計算資源,類似groupby這樣的復雜查詢需要借助HBase的協處理器來完成,這樣一方面性能不好,同時會影響HBase集群的穩定性;
Spark:具有豐富的算子支持復雜分析,使用Spark集群的計算資源,通過并發分析的方式可以提高性能,同時不影響HBase集群的穩定性。
Spark分析HBase數據有“RDD API”、“SQL API”、“HFILE”三種方式,相關對比如下:
對于數據動態更新增加的小表推薦使用SQL API的方式,可以有效的優化分析,減少對HBase集群穩定性的影響;對于靜態表或者全量靜態表的分析推薦使用分析HFILE的方式直讀HDFS,這樣可以完全不影響HBase集群穩定性;不推薦使用RDD API 的方式,這種方式一方沒有優化性能差,同時在高并發以及表數據量大時,會嚴重影響HBase集群的穩定性,從而影響在線業務。
3 三種方式的具體使用
云HBase團隊為大家提供了一個github項目供大家參考使用上面的三種方式來開發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的數據”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。