COPY 语句简介
使用
COPY
语句可加载数据。 COPY
是一个具有许多参数的大型通用语句;有关所有详细信息,请参阅参考页面。COPY
的最简单加载形式是将数据从源复制到文件,如下所示:
=> COPY target-table FROM data-source
您也可以在定义外部表时使用 COPY:
=> CREATE EXTERNAL TABLE target-table (...) AS COPY FROM data-source
源数据可以是数据流或文件路径。有关 FROM 子句的详细信息,请参阅指定加载数据的位置。
您可以指定有关数据加载的许多详细信息,包括:
- 全局选项和特定于列的选项
-
数据格式和压缩
-
要使用的内置解析器,或者要使用的用户定义的源、筛选器或解析器
-
如何在数据库节点之间分配数据加载(分配加载)
-
如何在加载期间转换数据(在加载期间转换数据)
-
如何处理无法加载的数据(处理杂乱的数据)
有关参数的完整列表,请参阅参数。
权限
通常,只有超级用户才能使用 COPY 语句来批量加载数据。在某些情况下,非超级用户可以使用 COPY:
-
从主机上的流(例如 STDIN)而不是文件进行加载(请参阅通过 JDBC 进行流式数据传输)。
-
使用 FROM LOCAL 选项进行加载。
-
加载到已授予用户权限的存储位置。
-
使用用户有权使用的用户定义的加载函数。
非超级用户也可以使用 JDBC 准备的语句执行批量加载,这时系统会将 COPY 用作后台任务来加载数据。
此外,用户还必须对要从中加载数据的源具有读取权限。