使用spark分析雲HBase的資料

2021-09-20 14:01:45 字數 936 閱讀 2068

方式

特點優點

缺點rdd api

1、使用hadoop 社群的tableinputformat、tablerecordreader工具類,來做split、資料scan;

2、具體api為 newapihadooprdd();

1、spark、hive都整合了tableinputformat、 tablerecordreader工具類

1、這種方式需要把錶的所有資料全部scan到spark計算引擎做過濾、複雜計算等;

2、不支援hbase scan api中blockcache的開關以及cachesize的配置,在高併發scan大表時會影響hbase集群的穩定性

sql api

1、通過spark的sql 優化器,支援謂詞下推、列裁剪、分割槽裁剪等優化,盡可能的把優化下推到儲存端,從而提高效能;

2、 具有sql的schema到hbase column的對映,不用寫複雜的型別轉換;

3、支援hbase scan api中blockcache的開關以及cachesize的配置,使用者可以根據場景調整,從而保證雲hbase的穩定性

1、充分列用hbase的儲存特性,將優化下推到資料來源端提高效能

1、使用scan api在分析大表時會增加hbase集群的load以及memory使用

hfile

1、spark直接分析表的hfile,直讀hdfs,完全不用使用hbase集群資源;

2、spark直接分析表的hfile與scan的方式對比,可以減少一次對hfile中資料的序列化和反序列化,提高效能;

1、可以有效解決在高併發scan時導致hbase集群load高以及記憶體消耗;

2、直讀hfile有較好的效能表現

1、spark分析hfile需要結合hbase的snapshot表的方式來保證分析資料的一致性

分析hfile:

具體的example

spark報錯無權訪問hbase

我在提交乙個乙個spark任務是,遇到乙個無權訪問hbase的異常,如下 org.apache.hadoop.hbase.ipc.remotewithextra ception org.apache.hadoop.hbase.security.accessdeniedexception org.ap...

Spark 下使用分析函式報錯

author julia 如題,在spark下執行帶有分析函式的sql語句,程式報錯,但是同樣的語句在hive環境下面執行正常。sql 這一段是實際想要執行的語句,裡面用到了sum over partition by 函式,子查詢單獨執行是沒有問題的 select sum r count over ...

hbase資料加鹽讀取(spark篇)

未加鹽資料 spark可以使用inputformat outputformat來讀寫hbase表。加鹽以後 需要在rowkey之前加一些字首,否則是查不到資料的。1 我們需要重新寫getsplits方法 從名字我們可以知道是要計算有多少個splits。在hbase中,乙個region對用乙個spli...