首页 > 数据库 > > 示例-示例1:Normal策略导入
规划数据服务器与集群处于同一内网,数据服务器IP为192.168.0.90和192.168.0.91。数据源文件格式为CSV。
CREATE TABLE tpcds.reasons
(
r_reason_sk integer not null,
r_reason_id char(16) not null,
r_reason_desc char(100)
);
mkdir -p /input_data(可选)创建用户及其所属的用户组。此用户用于启动GDS。若该类用户及所属用户组已存在,可跳过此步骤。
groupadd gdsgrp
useradd -g gdsgrp gds_user
chown -R gds_user:gdsgrp /input_data以gds_user用户登录每台数据服务器上分别启动GDS。
其中GDS安装路径为“/opt/bin/gds”,数据文件存放在“/input_data/”目录下,数据服务器所在IP为192.168.0.90和192.168.0.91,GDS监听端口为5000,以后台方式运行。
/gds/gds -d /input_data -p 192.168.0.90:5000 -H 10.10.0.1/24 -D在IP为192.168.0.91的数据服务器上启动GDS。
/gds/gds -d /input_data -p 192.168.0.91:5000 -H 10.10.0.1/24 -D创建外表tpcds.foreign_tpcds_reasons用于接收数据服务器上的数据。
其中设置导入模式信息如下所示:
设置数据格式信息是根据导出时设置的详细数据格式参数信息指定的,参数设置如下所示:
设置导入容错性如下所示:
根据以上信息,创建的外表如下所示:
CREATE FOREIGN TABLE tpcds.foreign_tpcds_reasons
(
r_reason_sk integer not null,
r_reason_id char(16) not null,
r_reason_desc char(100)
)
SERVER gsmpp_server OPTIONS (location 'gsfs://192.168.0.90:5000/* | gsfs://192.168.0.91:5000/*', format 'CSV',mode 'Normal', encoding 'utf8', delimter E'\x08', quote E'\x1b', null '', fill_missing_fields 'false') LOG INTO err_tpcds_reasons PER NODE REJECT LIMIT 'unlimited';
INSERT INTO tpcds.reasons SELECT * FROM tpcds.foreign_tpcds_reasons;查询错误信息表err_tpcds_reasons,处理数据导入错误。详细请参见处理错误表。
SELECT * FROM err_tpcds_reasons;待数据导入完成后,以gds_user用户登录每台数据服务器,分别停止GDS。
ps -ef|grep gds
gds_user 128954 1 15:03 ? 00:00:00 gds -d /input_data -p 192.168.0.90:5000 -D
gds_user 129003 118723 15:04 pts/ 00:00:00 grep gds
kill -9 128954
规划数据服务器与集群处于同一内网,数据服务器IP为192.168.0.90,导入的数据源文件格式为CSV,同时导入2个目标表。
CREATE TABLE tpcds.reasons1
(
r_reason_sk integer not null,
r_reason_id char(16) not null,
r_reason_desc char(100)
) ;
CREATE TABLE tpcds.reasons2
(
r_reason_sk integer not null,
r_reason_id char(16) not null,
r_reason_desc char(100)
) ;
mkdir -p /input_data将目标表tpcds.reasons1的数据源文件存放在数据服务器“/input_data/import1/”目录下,将目标表tpcds.reasons2的数据源文件存放在目录“/input_data/import2/”下。
groupadd gdsgrp
useradd -g gdsgrp gds_user
chown -R gds_user:gdsgrp /input_data以gds_user用户登录数据服务器上启动GDS。
/gds/gds -d /input_data -p 192.168.0.90:5000 -H 10.10.0.1/24 -D -t 2 -r在数据库中创建外表tpcds.foreign_tpcds_reasons1和tpcds.foreign_tpcds_reasons2用于接收数据服务器上的数据。
以下以外表tpcds.foreign_tpcds_reasons1为例,讲解设置的导入外表参数信息。
其中设置的导入模式信息如下所示:
设置的数据格式信息是根据导出时设置的详细数据格式参数信息指定的,参数设置如下所示:
设置的导入容错性如下所示:
根据以上信息,创建的外表tpcds.foreign_tpcds_reasons1如下所示:
CREATE FOREIGN TABLE tpcds.foreign_tpcds_reasons1
(
r_reason_sk integer not null,
r_reason_id char(16) not null,
r_reason_desc char(100)
) SERVER gsmpp_server OPTIONS (location 'gsfs://192.168.0.90:5000/import1/*', format 'CSV',mode 'Normal', encoding 'utf8', delimiter E'\x08', quote E'\x1b', null '',fill_missing_fields 'on')LOG INTO err_tpcds_reasons1 PER NODE REJECT LIMIT 'unlimited';
参考以上设置,创建的外表tpcds.foreign_tpcds_reasons2如下所示:
CREATE FOREIGN TABLE tpcds.foreign_tpcds_reasons2
(
r_reason_sk integer not null,
r_reason_id char(16) not null,
r_reason_desc char(100)
) SERVER gsmpp_server OPTIONS (location 'gsfs://192.168.0.90:5000/import2/*', format 'CSV',mode 'Normal', encoding 'utf8', delimiter E'\x08', quote E'\x1b', null '',fill_missing_fields 'on')LOG INTO err_tpcds_reasons2 PER NODE REJECT LIMIT 'unlimited';
INSERT INTO tpcds.reasons1 SELECT * FROM tpcds.foreign_tpcds_reasons1;INSERT INTO tpcds.reasons2 SELECT * FROM tpcds.foreign_tpcds_reasons2;查询错误信息表err_tpcds_reasons1和err_tpcds_reasons2,处理数据导入错误。详细请参见处理错误表。
SELECT * FROM err_tpcds_reasons1;
SELECT * FROM err_tpcds_reasons2;
ps -ef|grep gds
gds_user 128954 1 15:03 ? 00:00:00 gds -d /input_data -p 192.168.0.90:5000 -D -t 2 -r
gds_user 129003 118723 15:04 pts/ 00:00:00 grep gds
kill -9 128954
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69959250/viewspace-3118409/ ,如需转载,请注明出处,否则将追究法律责任。