问题描述
datax 读取hdfs文件时遇到个棘手的问题,就是文本中字符以"开头时,无法用分割符分开,它会合并后续所有字段为一个字段,直到找到"结尾。
问题排查
我们项目组,基于hdfs封装个hive读取。读取的hive表是普通的text格式。我们顺着代码找到
发现text最后使用CsvReader读取的,再看了一下CsvReader的使用方法,发现里面有个参数,TextQualifier 默认值为",也就是改变一下这个默认值就行。
public char TextQualifier = '"';
那在原来的源码这里加入一段默认文本限定符的设置
那么ok了。
结果验证
最后发现这个数据确实不再被强制压缩到一起了,万事大吉。