spark2 3 讀取hbase的資料

2021-09-20 06:51:52 字數 686 閱讀 4753

最近發現 讀取 客戶資訊的資料的時候 發現序列化記憶體不夠,超過了預設的64m,資料量有100多萬了。

之前客戶資訊是儲存在hdfs上的parquet檔案。

現在將客戶的資訊儲存到hbase中去。然後通過hadoop的api將客戶的資訊從hbase中讀取到快取到記憶體中

import org.apache.hadoop.hbase.cellutil

import org.apache.hadoop.hbase.client.result

import org.apache.hadoop.hbase.io.immutablebyteswritable

import org.apache.hadoop.hbase.mapreduce.tableinputformat

private def definecustomerbyhbaseudf(spark: sparksession): unit = ).tomap

(k, new customerentitydata(mm))

}).collectasmap().tomap

)executecustomerexecute(spark, customermeta)

spark.sparkcontext.setjobdescription(previousjobdescription)

}

hbase資料加鹽讀取(spark篇)

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

HBASE的優化部分 HBASE讀取表的優化

3.1 多htable併發讀 建立多個htable客戶端用於讀操作,提高讀資料的吞吐量,乙個例子 static final configuration conf hbaseconfiguration.create static final string table log name user log...

修改HBase或者Spark預設的8080埠

我們知道8080埠是很多web應用的預設埠,如果一台機器上兩個服務都用8080就會引起衝突,同時8080也容易被黑客攻擊的埠。因此我們希望可以修改hbase或者spark的預設web ui訪問的8080埠。修改hbase home下的conf目錄之下的hbase site.xml檔案 新增hbase...