GBase 8a
其他
文章

数据导出

发表于2025-06-24 11:06:0364次浏览0个评论

语法格式

SELECT…INTO OUTFILE 'file_path' [OUTFILE_OPTION] FROM…;
SELECT…FROM…INTO OUTFILE 'file_path' [OUTFILE_OPTION];

参数说明

OUTFILE_OPTION选项说明
FIELDS/COLUMNS TERMINATED BY字段分隔符,支持多个字符,最大支持字符数为 10。如果不指定分隔符则默认值“\t”,即 TAB 键。
FIELDS/COLUMNS [OPTIONALLY] ENCLOSED BY字段包围符,可以自行指定单个字符为字段包围符,指定多个字符时报错。支持 OPTIONALLY 选项,加 OPTIONALLY 选项时仅对字符串类型起作用,否则对所有字段都起作用。默认为无字段包围符。
FIELDS/COLUMNS ESCAPED BY转义标识符,可以自行指定单个字符为转义标识符,指定多个字符时报错,默认为“\”,默认值在语句中写为:FIELDSESCAPED BY '\\'。
LINES TERMINATED BY行分隔符,支持多个字符,最大支持字符数为 10。 默认为“\n”。
LINES STARTING BY行起始符,支持多个字符,最大支持字符数为 10。默认为空。
FIELDS/COLUMNS [OPTIONALLY] DOUBLE_ENCLOSED BY字段包含符自转义,该参数包含上面参数(字段包围符)的所有功能;但额外的作用是,当转义符设置为空时,如果某字段满足使用字段包围符的条件,且该字段中还有与字段包围符相同的字符,则将该字符通过双写的方式自转义。
NULL_VALUE空值标识符,支持多个字符,最大支持字符数为 32。默认为“\N”。
OUTFILEMODE BY导出方式,可选值为:LOCAL 或 HDFS。LOCAL:导出本地文件,HDFS:导出 HDFS 文件。默认为 LOCAL 方式导出。
WRITEMODE BY写入方式,可选值为:NORMAL 或 OVERWRITES。NORMAL:如果文件已存在则报错,OVERWRITES 覆盖已存在的文件。默认为 NORMAL 方式写入。
FILECOUNT并行导出的文件个数,最小值为 0,最大值为 UINT_MAX(4294967295),默认值为 0,表示不限制文件导出个数。仅对导出 HDFS 文件有效。在不指定 FILESIZE 参数时,实际导出 HDFS 文件个数为FILECOUNT 和数据主分片数二者的最小值。当使用默认值时,每个主分片导出为一个 HDFS 文件。
FILESIZE导出文件大小的最大值,最小值为 0,最大值为ULONGLONG_MAX(18446744073709551615),默认值为 0,表示不限制导出文件的大小。如导出文件大小大于此参数值,则分裂产生新文件。新文件命名方式为file_title+suffix+file_ext 形式,其中 file_title 是 file_name 中’.’之前的部分,file_ext 为 file_name 中’.’之后的部分(包含’.’)suffix 为自动追加的文件名后缀,第一个文件名后缀是“_p1”,以此类推。FILESIZE 值支持 k/K/m/M/g/G 后缀表示方式。
CHARACTER SET指定导出文件的字符集,支持 GBK 和 UTF8 编码,默认导出和源表字符集保持一致。
FIELDS/COLUMNS LENGTH在使用定长模式导出时,用于设定字段长度的参数。定长格式数据导出时,设置每个字段的长度,多个字段之间用逗号分隔,该参数不能和列分隔符以及包围符混用。
WITH HEAD可选参数,用户输入该参数时,表示本地导出数据文件带有表头信息。用户忽略该参数时,表示本地导出数据文件不带表头信息。WITH HEAD 语法约束:l对于表头导出功能,当用户指定转义字符时,表头信息不作转义处理;l导出表头信息默认为小写,如果导出表头需要区分大小写可以开启参数:_gcluster_support_outfile_with_table_head_case_sensitive默认值为 0,功能关闭,导出表头均转为小写;设置值为 1,功能开启,导出表头信息区分大小写l表头的导出只支持 express 引擎表,其他类型不作保证;

 

 

评论

登录后才可以发表评论