华为云云数据库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 'CSV' , 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 |
设置项 |
值 |
说明 |
---|---|---|
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,不报错。 例如,源数据文件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:数据源文件中字段比外表定义列数多,则忽略行尾多出来的列。不报错 例如,源数据文件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 (导入导出)。
父主题: 教程:使用GDS从远端服务器导入数据
同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家