使用phoenix upsert 插入大量数据时出现异常:
java.sql.SQLException: ERROR 730 (LIM02): MutationState size is bigger than maximum allowed number of bytes
具体报错:
解决方法:
主要修改三个参数配置:
phoenix.mutate.batchSize:执行过程中被批处理并自动提交的行数,调大此参数
phoenix.mutate.maxSize :客户端批处理的最大行数,调大此参数
phoenix.mutate.maxSizeBytes :客户端批处理的最大数据量(单位:B),这个参数官网参数列表并未提到,但是确实会有很大影响,同样要调大此参数
修改phoenix的bin目录下的hbase-site.xml,添加如下配置:
<property>
<name>phoenix.mutate.batchSize</name>
<value>5000000</value>
</property>
<property>
<name>phoenix.mutate.maxSize</name>
<value>50000000</value>
</property>
<property>
<name>phoenix.mutate.maxSizeBytes</name>
<value>1000000</value>
</property>
phoenix官方配置列表:https://phoenix.apache.org/tuning.html