在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 Job
有什么更好的方法:
spark-submit \
--conf spark.hbase.client.keyvalue.maxsize=10485760
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);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句