最近需求用importtsv和completebulkload来从文件导入Hbase数据,但是遇到了一个问题就是importtsv的分隔符只支持单个字符,如果想指定类似于“\t”这样的转义字符是不可能的,当然,TSV默认的分隔符就是TAB,所以这中情况就直接不指定分隔符就可以了。
但如果我想指定其他的特殊字符做分隔符要怎么办呢?
网上有个人提供了一个办法,就是在调用importtsv的main方法之前,通过conf.set的办法把分隔符指定到配置文件中。
但是因为是一些非显示的控制字符,实际上好像也没有传递进去,执行的时候还是用的默认分隔符(TAB),不知道是不是我自己没有测试好,总之我这边的结果就是不行的。大家有兴趣可以去参考一下。
通过反复的实验,终于发现可以将这里字符写在脚本里,直接执行脚本的方式可以指定成功。大概是这样个样子的
指定“头标开始”,“垂直制表符”,“转意”