簡體   English   中英

使用 spark-submit 為 Spark 作業設置 HBase 屬性

[英]set HBase properties for Spark Job using spark-submit

在 Hbase 數據遷移期間,我遇到了java.lang.IllegalArgumentException: KeyValue size too large

從長遠來看:

我需要增加/etc/hbase/conf/hbase-site.xml的屬性hbase.client.keyvalue.maxsize (從 1048576 到 10485760),但我現在無法更改此文件(我需要驗證)。

在短期內 :

我已成功使用命令導入數據:

hbase org.apache.hadoop.hbase.mapreduce.Import \
  -Dhbase.client.keyvalue.maxsize=10485760 \
  myTable \
  myBackupFile

現在我需要使用 spark-submit 運行 Spark 作業

什么是更好的方法:

  • 使用“spark”作為 HBase 屬性的前綴。 (我不確定這是否可能,以及它是否有效)
spark-submit \
  --conf spark.hbase.client.keyvalue.maxsize=10485760
  • 使用 'spark.executor.extraJavaOptions' 和 'spark.driver.extraJavaOptions' 顯式傳輸 HBase 屬性
spark-submit \
  --conf spark.executor.extraJavaOptions=-Dhbase.client.keyvalue.maxsize=10485760 \
  --conf spark.driver.extraJavaOptions=-Dhbase.client.keyvalue.maxsize=10485760

如果您可以更改代碼,則應該能夠以編程方式設置這些屬性。 我認為過去在 Java 中這樣的事情曾經對我有用:

Configuration conf = HBaseConfiguration.create();
conf.set("hbase.client.scanner.timeout.period", SCAN_TIMEOUT); // set BEFORE you create the connection object below:
Connection conn = ConnectionFactory.createConnection(conf);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM