sqoop1.99.7自定义分隔符

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.

猜你喜欢

转载自zhusirong.iteye.com/blog/2377372
今日推荐