GBase 8a
其他
文章

数据加载

发表于2025-06-24 10:54:5217次浏览1个评论

数据加载语法

LOAD DATA INFILE 'file_list' INTO TABLE [[vc_name.]database_name.]table_name [options]

options:
[CHARACTER SET charset_name]
[DATA_FORMAT number [HAVING LINES SEPARATOR]]
[NULL_VALUE 'string']
[FIELDS
 [TERMINATED BY 'string']
 [ENCLOSED BY 'string']
 [PRESERVE [LEADING | TRAILING] BLANKS]
 [AUTOFILL]
 [LENGTH 'string']
 [TABLE_FIELDS 'string']
]
[LINES
 [TERMINATED BY 'string']
]
[MAX_BAD_RECORDS number]
[DATETIME FORMAT format]
[DATE FORMAT format]
[TIMESTAMP FORMAT format]
[TIME FORMAT format]
[TRACE number]
[TRACE_PATH 'string']
[NOSPLIT]
[PARALLEL number]
[MAX_DATA_PROCESSORS number]
[MIN_CHUNK_SIZE number]
[SKIP_BAD_FILE number]
[SET col_name = value[,...]]
[IGNORE NUM LINES]
[FILE_FORMAT format]

 

参数说明:

FILE_LIST:待加载文件列表,或待加载数据文件所在的目录。支持 URL 的
方式指定数据文件路径,以逗号(',')作为多个文件/目录的分隔符。
scheme://host:port/path, scheme://host:port/path
支持如下数据源加载:
S3、本地、https、ftp、sftp、hdfs、gbfs、kafka 等常用数据源。

 

CHARACTER SET : 用来指定待加载数据文件的编码格式

DATA_FORMAT:用来指定使用哪种方式解析数据文件并加载

NULL_VALUE:用于指定空值字符

FIELDS TERMINATED BY:用于指定字段分隔符

ENCLOSED BY:用于指定字段包围符

PRESERVE [LEADING | TRAILING] BLANKS:用于设定是否保留字段内容两端的空格

AUTOFILL:用于设定是否启用缺失列自动补齐功能

LENGTH:在使用定长模式加载时,用于设定字段长度的参数

TABLE_FIELDS:用于指定列加载

SET:指定列值加载

LINES TERMINATED BY:行分隔符

MAX_BAD_RECORDS:在每次加载的任务中,设定错误数据行数的上限

DATE FORMAT:用来指定 date 列类型的默认格式

DATETIME FORMAT : 用 来 指 定 datetime 列 的 默 认 格 式

TIMESTAMP FORMAT : 用 来 指 定 timestamp 列 的 默 认 格 式

TIME FORMAT:用来指定 time 列的默认格式

TRACE:用来指示本次加载是否保存错误数据溯源

TRACE_PATH:用来指定本次加载过程中产生的错误数据和日志存放路径

NOSPLIT:用来指定本次加载任务中是否禁用分块加载功能

PARALLEL:用来控制集群加载并行度

MAX_DATA_PROCESSORS:用来指定本次加载任务中参与数据解析的处理的最大节点数

MIN_CHUNK_SIZE:用来指定本次加载任务中数据分块的最小粒度

SKIP_BAD_FILE:用来指定本次加载任务中是否忽略不存在或没有读取权限的数据文件继续加载

IGNORE NUM LINES:配置该参数加载工具会将本次加载指定的所有数据文件的表头进行过滤

FILE_FORMAT:用来 指定被加载 文件的格式

示例:

LOAD DATA INFILE 'ftp://127.0.0.1/data/a.tbl' INTO TABLE test.t DATA_FORMAT 3;

评论

登录后才可以发表评论
用户头像
levvel发表于 6个月前
讲得很清楚!