问题描述
datax 读取hdfs文件时遇到个棘手的问题,就是文本中字符以"开头时,无法用分割符分开,它会合并后续所有字段为一个字段,直到找到"结尾。
问题排查
我们项目组,基于hdfs封装个hive读取。读取的hive表是普通的text格式。我们顺着代码找到



发现text最后使用CsvReader读取的,再看了一下CsvReader的使用方法,发现里面有个参数,TextQualifier 默认值为",也就是改变一下这个默认值就行。
public char TextQualifier = '"';
那在原来的源码这里加入一段默认文本限定符的设置
那么ok了。
结果验证

最后发现这个数据确实不再被强制压缩到一起了,万事大吉。
解决DataX读取HDFS文件问题
本文介绍了一个关于DataX在读取HDFS文件时遇到的问题:文本中的某些字符会导致数据被错误地合并。通过调整CsvReader的TextQualifier参数解决了这一问题。
5304





