云数据库 GAUSSDB-步骤3:在GaussDB数据库中创建外表
步骤3:在 GaussDB 数据库中创建外表
- 使用SQL客户端工具连接GaussDB数据库。
- 根据需要导入数据信息表1,创建如下外表:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
openGauss=# DROP FOREIGN TABLE IF EXISTS product_info_ext; openGauss=# CREATE FOREIGN TABLE product_info_ext ( product_price integer not null, product_id char(30) not null, product_time date , product_level char(10) , product_name varchar(200) , product_type1 varchar(20) , product_type2 char(10) , product_monthly_sales_cnt integer , product_comment_time date , product_comment_num integer , product_comment_content varchar(200) ) SERVER gsmpp_server OPTIONS( LOCATION 'gsfs://192.168.0.90:5000/*', FORMAT ' CS V' , DELIMITER ',', ENCODING 'utf8', HEADER 'false', FILL_MISSING_FIELDS 'true', IGNORE_EXTRA_DATA 'true' ) READ ONLY LOG INTO product_info_err PER NODE REJECT LIMIT 'unlimited';
返回如下信息表示创建成功:
1
CREATE FOREIGN TABLE
表1 外表各项的设置说明如下 设置项
值
说明
SERVER
gsmpp_server
无需修改,即固定设为gsmpp_server。
LOCATION
gsfs://192.168.0.90:5000/*
数据源文件位置。
若使用SSL加密传输时,请使用gsfss协议。即为gsfss://192.168.0.90:5000/*
FORMAT
CSV
数据源文件格式。
ENCODING
UTF-8
数据编码格式。
DELIMITER
英文逗号
字段分隔符。
HEADER
false(默认值)
此参数用于指定数据文件是否包含标题行。该参数只针对CSV和FIXED格式的数据文件有效。准备数据源文件中的数据文件第一行不是标题行(即表头),故设为“false”。
FILL_MISSING_FIELDS
true
当数据导入时,数据源文件中一行的最后一个字段缺失的处理方式。默认为false/off。本教程中设为“true”。
- true/on:表示最后一个字段缺失时,把最后一个字段的值设置为NULL,不报错。
- false/off:表示最后一个字段缺失时,做如下报错提示:missing data for column "tt"。
例如,源数据文件product_info2.csv中第2条记录的最后一个字段“product_comment_content”缺失。当FILL_MISSING_FIELDS使用false/off时,导入数据时错误表中会有类似如下的错误信息:missing data for column "product_comment_content"
IGNORE_EXTRA_DATA
true
数据源文件中的字段比外表定义列数多时,是否忽略多出的列。默认为false/off。本教程中设为“true”。
- true/on:数据源文件中字段比外表定义列数多,则忽略行尾多出来的列。不报错
- false/off:若数据源文件中字段比外表定义列数多,做如下报错提示:extra data after last expected column。
例如,源数据文件product_info2.csv中第3条记录比外表定义列数多。当IGNORE_EXTRA_DATA设为false/off时,导入数据时错误表中会有类似如下的错误信息:
extra data after last expected column
PER NODE REJECT LIMIT 'value'
unlimited
指定本次数据导入过程中每个DN实例上允许出现的数据格式错误的数量,如果有一个DN实例上的错误数量大于设定值,本次导入失败,报错退出。
本教程设置为“unlimited”,即接受导入过程中所有数据格式错误。
READ ONLY
-
外表的语法定义通用于导入数据到GaussDB集群和从集群导出数据。数据导入集群时,请将外表设为READ ONLY;导出时,请设为WRITE ONLY。
WITH error_table_name
错误表名称product_info_err。
数据导入过程中出现的数据格式错误信息将被写入product_info_err指定的错误信息表中,可以在并行导入结束后查询此错误信息表,获取详细的错误信息。
完整的选项说明请见 CREATE FOREIGN TABLE (导入导出)。
- 云数据库Gaussdb数据库索引_华为gaussdb__gaussdb 数据库
- 云数据库Gaussdb快速入门_gaussdb连接__gaussdb案例
- GaussDB驱动_GaussDB数据库驱动_云数据库GaussDB驱动_华为云
- GaussDB学习_gaussdb教程_高斯数据库学习_华为云
- GaussDB功能_云数据库GaussDB功能_GaussDB功能特性-华为云
- GaussDB视频教程_gaussdb查看表结构语句_高斯数据库视频教程_华为云
- 云数据库GaussDB(for MySQL)_云数据库_分布式数据库
- GaussDB升级_云数据库GaussDB升级_GaussDB如何升级-华为云
- GaussDB扩容_云数据库GaussDB扩容_GaussDB如何扩容-华为云
- GaussDB收费_云数据库GaussDB收费_GaussDB如何收费-华为云