tsv文件是固定行分隔符为换行符、列分隔符为tab的csv文件(文本文件)。
data_format 3 支持csv和tsv格式文件加载,但是需显式指定行列分隔符、字段包围符等参数。
data_format 为10或者tsv时,表示加载严格tsv文件格式,即tsv文件使用tab制表符作为字段分隔符,每行代表一条记录(换行符为行分隔符)。加载时不需指定行列分隔符以及字段包围符等参数,并且支持自动识别转义字符转义。
加载语法不变
load data infile '.....' into table *** DATA_FORMAT TSV;
数据源支持本地、FTP、SFTP、HTTP、HDFS、Kafka、S3、GBFS
可正常使用的参数:
DATA_FORMAT 为10或者tsv 代表加载tsv文件
NULL_VALUE 调整默认值为\N,支持指定
FILELIST 对文件名和文件后缀没有要求,支持通配符
CHARACTER_SET、AUTOFILL、TABLE_FIELDS、MAX_BAD_RECORDS、DATETIME FORMAT、DATE FORMAT、TIMESTAMP FORMAT、TIME FORMAT、TRACE、TRACE_PATH、NOSPLIT、PARALLEL、MAX_DATA_PROCESSORS、MIN_CHUNK_SIZE、SKIP_BAD_FILE、SET、IGNORE NUM LINES、FILE_FORMAT
无效参数:tsv文件以下参数无效,如带这些参数可正常加载,但是会提示warning
HAVING LINES SEPARATOR
FIELDS TERMINATED BY tsv文件固定为tab
FIELDS ENCLOSED BY
FIELDS PRESERVE BLANKS tsv文件默认不去除前后空格
FIELDS LENGTH
LINES TERMINATED BY tsv文件固定为换行符
转义功能:
tsv文件中,字段值支持存在C风格转义符和16进制转义符,加载时,会自动识别转义符并还原后入库。
C风格转义符以'\'开头,16进制字符以'\x'开头。
'\a' 响铃(BEL)
'\b' 退格(BS),将当前位置移到前一列
'\e' 更改格式(ESC),更改控制台格式颜色
'\f' 换页(FF),将当前位置移到下页开头
'\n' 换行(LF),将当前位置移到下一行开头
'\r' 回车(CR),将当前位置移到本行开头
'\t' 水平制表(HT),跳到下一个TAB位置
'\v' 垂直制表(VT)
'\\' 代表一个反斜线字符
'\0' 空格
'\xFF'反斜杠后跟x,后跟两位有效16进制数(0x00~0xff),转义为数值对应16进制数的单字节
'\N' NULL