sqoop1.99.7自定义分隔符
源码在下载二进制包的url下就有,修改的地方:SqoopIDFUtils.toCSVString(String str)
如下,注释的是原有代码,下一行是改的代码:
1.去掉字符串头尾的单引号:
StringBuilder sb1 = new StringBuilder();
StringBuilder sb2 = new StringBuilder();
for (int i = 0; i < string.length(); ++i) {
char c = string.charAt(i);
if (c == ESCAPE_CHARACTER) {
sb1.append(ESCAPE_CHARACTER);
}
sb1.append(c);
}
for (char c : sb1.toString().toCharArray()) {
// if (ORIGINALS.containsKey(c)) {
// sb2.append(ORIGINALS.get(c));
// } else {
sb2.append(c);
// }
}
// return encloseWithQuotes(sb2.toString());
return sb2.toString();
2.字段分割符自定义(由默认的”,”改成”\t”)
// public static final char CSV_SEPARATOR_CHARACTER = ',';
public static final char CSV_SEPARATOR_CHARACTER = '\t';
然后编译打包,替换server/lib下对应的jar包,主要是sqoop-1.99.7/connector/connector-sdk/target/connector-sdk-1.99.7.jar.