在hbase数据迁移期间,我遇到了 java.lang.IllegalArgumentException: KeyValue size too large
长期来看:
我需要增加财产 hbase.client.keyvalue.maxsize
(从1048576到10485760) /etc/hbase/conf/hbase-site.xml
但我现在无法更改此文件(我需要验证)。
短期内:
我已成功使用以下命令导入数据:
hbase org.apache.hadoop.hbase.mapreduce.Import \
-Dhbase.client.keyvalue.maxsize=10485760 \
myTable \
myBackupFile
现在我需要使用spark submit运行spark作业
更好的方法是什么:
在hbase属性前面加上“spark”。(我不确定这是否可行,也不确定它是否有效)
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
1条答案
按热度按时间roejwanj1#
如果可以更改代码,则应该能够以编程方式设置这些属性。我认为类似的东西过去在java中对我有用: