方式
特點優點
缺點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...