sqoop 导出如果分隔符指定的不对会导致hive 进sqoop 数据不能正确的分隔,会造成导出任务失败。
Hive应用:选取分隔符
在使用hive的时候,分隔符是必不可少的,当学习的时候使用的都是常规分隔符,比如:逗号“,”、竖线“|”等,这些键盘上都可以直接输入的字符,但是这些字符只要是键盘上的,在针对复杂的业务逻辑的时候,都会失效。
比如你有一个备注字段,这个字段允许用户输入输入键盘上的任何字符,一旦用户输入了你选择的分隔符,那么Hive在使用这个数据的时候,就会导致hive表中的字段错位。
使用多个组合字符,也可以成为一种选择,但是有些导入导出工具,不支持多字符分隔符,比如:阿里的DATAX就不支持多字符分隔符。
那么现在我们就需要一种字符,是用户输入不了的,计算机又存在的字符,下面这些字符则可以满足需求!
1、特殊字符
以下这些字符是可以在Hive中应用,并且DATAX也支持的:
char | digraph | hex | dec | official name | Unicode |
---|---|---|---|---|---|
^@ | NU | 0x00 | 0 | NULL (NUL)N | \u0000 |
^A | SH | 0x01 | 1 | START OF HEADING (SOH) | \u0001 | </