问题
Impala批量插入语法与mysql类似,支持:
INSERT INTO table_name (列1, 列2,列3,...) VALUES (值1, 值2,值3,....),(值1, 值2,值3,....)
在使用过程中,通过这个语法插入的数据量稍微多一点(如200条),会产生中文乱码等各种奇奇怪怪的问题
发生的原因
是新增优化导致的批量插入存在问题,Impala默认使用optimized insert语法,其内部会进行批量插入的优化,但是optimized insert语法在处理中文字符时可能会出现乱码问题
解决方法
jdbc:impala://ip:端口/default;OptimizedInsert=0
在配置连接的时候,加上;OptimizedInsert=0,可以关闭optimized insert语法,使用普通的insert语法进行插入,从而避免了中文乱码问题。
注:
需要注意的是,使用普通的insert语法进行批量插入可能会影响性能,因此需要根据具体情况进行权衡和选择。