云服务器内容精选
-
导出流程 图2 并行导出流程 表1 流程说明 流程 说明 子任务 规划导出数据。 根据所选模式,准备需要导出的数据并规划导出路径。 详细内容请参见规划导出数据 - 是否为Local模式? 根据创建外表时所规划的导出模式判断,是否为Local模式。 - 启动GDS。 若规划的导出模式为Remote模式,需在数据服务器上安装配置并启动GDS。 详细内容请参见安装配置和启动GDS。 - 创建外表。 创建外表用于帮助GDS指定导出的数据文件。外表中保存了导出数据文件的位置、文件格式、编码格式、数据间的分隔符等信息。 详细内容请参见创建GDS外表。 - 执行导出数据。 在创建好外表后,通过INSERT语句,将数据快速、高效地导出到数据文件中。 详细内容请参见执行导出数据。 - 停止GDS。 数据导出完成后,停止GDS。 详细请参见停止GDS。 -
-
相关概念 数据文件:存储有数据的TEXT、 CS V或FIXED文件。文件中保存的是从 GaussDB数据库 导出的数据。 外表:用于规划导出数据文件的数据文件格式、存放位置、编码格式等信息。 GDS:数据服务工具。在导出数据时,需要将此工具部署到数据文件所在的服务器上,使DN可以通过该工具导出数据。 表:数据库中的表,包括行存表和列存表。数据文件中的数据从这些表中导出。 Local导出模式:将集群中的业务数据导出到集群节点所在主机上。 Remote导出模式:将集群中的业务数据导出到集群之外的主机上。
-
示例 示例1:创建GDS导出外表foreign_tpcds_reasons,待导出数据格式为CSV,用于接收数据服务器上的数据。 其中设置的导出模式信息如下所示: 规划数据服务器与集群处于同一内网,数据服务器IP为192.168.0.90,待导出的数据文件格式为CSV,选择并行导出模式为Remote模式。 假定启动GDS时,规划导出的数据文件存放目录为“/output_data/”,GDS侦听端口为5000,所以设置参数“location”为“gsfs://192.168.0.90:5000/”。 设置导出的数据格式信息,参数设置如下所示: 导出数据文件格式(format)为CSV。 编码格式(encoding)为UTF-8。 字段分隔符(delimiter)为E'\x08'。 引号字符(quote)为0x1b。 数据文件中空值(null)为没有引号的空字符串。 逃逸字符(escape)为默认值双引号。 数据文件是否包含标题行(header)为默认值false,即导出时数据文件第一行被识别为数据。 导出数据文件换行符样式(EOL)为0X0A。 创建的外表如下所示: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 postgres=# CREATE FOREIGN TABLE 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/', FORMAT 'CSV', DELIMITER E'\x08', QUOTE E'\x1b', NULL '', EOL '0x0a' ) WRITE ONLY; 示例2:创建GDS导出外表foreign_tpcds_reasons,导出数据格式为FIXED,用于接收数据服务器上的数据。 其中设置的导出模式信息如下所示: 规划数据服务器与集群处于同一内网,数据服务器IP为192.168.0.90,计划导出的数据文件格式为CSV,选择并行导出模式为Remote模式。 假定启动GDS时,规划导出的数据文件存放目录为“/output_data/”,GDS侦听端口为5000,所以设置参数“location”为“gsfs://192.168.0.90:5000/”。 设置导出的数据格式信息,参数设置如下所示: 导出数据文件格式(format)为FIXED。 编码格式(encoding)为UTF-8。 数据文件是否包含标题行(header)为默认值false,即指定导出数据文件是不包含标题行。 定义每一个字段在数据文件中的位置POSITION(offset,length)。其中offset为该字段在文件中的起始位置,length为该字段的长度,单位为字节。 字段“r_reason_sk”,数据类型为integer,使用以下查询所得占用的最大字节数为2,所以设置的起始位置为1,长度为2。 字段“r_reason_id”,数据类型为character varying(16),使用以下查询所得占用的最大字节数为16,所以设置的起始位置为字段“r_reason_sk”的offset+length=1+2=3,长度为16。 字段“r_reason_desc”,数据类型为character varying(100),使用以下查询所得占用的最大字节数为100,所以设置的起始位置为字段“r_reason_id”的offset+length=3+16=19,长度为100。 1 2 3 4 5 postgres=# SELECT max(lengthb(r_reason_sk)),max(lengthb(r_reason_id)),max(lengthb(r_reason_desc)) FROM reasons; max | max | max -----+-----+----- 2 | 16 | 100 (1 row) 导出数据文件换行符样式(EOL)为0X0A。 创建的外表如下所示: 1 2 3 4 5 6 7 8 9 10 11 12 postgres=# CREATE FOREIGN TABLE foreign_tpcds_reasons ( r_reason_sk integer position(1,2), r_reason_id char(16) position(3,16), r_reason_desc char(100) position(19,100) ) SERVER gsmpp_server OPTIONS (LOCATION 'gsfs://192.168.0.90:5000/', FORMAT 'FIXED', ENCODING 'utf8', EOL '0x0a' ) WRITE ONLY;
-
操作步骤 根据规划导出数据中规划的路径确定外表参数location的值。 Remote模式 请通过URL方式设置参数“location”,用于指定导出的数据文件存放路径。 不需要指定文件名。 当有多个路径时,只有第一个路径有效。 示例: GDS数据服务器IP为192.168.0.90,假定启动GDS时设置的侦听端口为5000,设置的导出后文件存放目录为“/output_data/”。 根据以上情况,在创建外表时,指定参数“location”为“gsfs://192.168.0.90:5000/”。 Local模式 设置参数“location”,用于指定导出的数据文件存放路径,不需要指定文件名。 示例: 数据源文件可通过本地文件方式访问,计划将导出数据文件存放在“/output_data/”目录中。 根据以上情况,在创建外表时,指定参数“location”为“file:///output_data/”。 梳理待导出数据的格式信息,确定创建外表时使用的数据格式参数的值。格式参数详细介绍,请参见数据格式参数。 根据前面步骤确定的参数,创建GDS外表。外表的创建语法以及详细使用,请参考CREATE FOREIGN TABLE (导入导出)。
-
任务示例 示例1:将表reasons的数据通过外表foreign_tpcds_reasons导出到数据文件中。 1 postgres=# INSERT INTO foreign_tpcds_reasons SELECT * FROM reasons; 示例2:通过条件过滤(r_reason_sk =1),向数据文件中导出部分数据。 1 postgres=# INSERT INTO foreign_tpcds_reasons SELECT * FROM reasons WHERE r_reason_sk=1; 示例3:对于特殊的数据类型如RAW类型,在导出之后是一个二进制文本,导入工具无法识别。需使用RAWTOHEX()函数将其转换为16进制文本导出。 1 postgres=# INSERT INTO foreign_blob_type_tab SELECT RAWTOHEX(c) FROM blob_type_tab;
-
操作步骤 执行数据导出。 1 INSERT INTO [foreign table 表名] SELECT * FROM [源表名]; 编写批处理任务脚本,实现并发批量导出数据。并发量视机器资源使用情况而定。可通过几个表测试,监控资源利用率,根据结果提高或减少并发量。常用资源监控命令有:内存和CPU监控top命令,IO监控命令iostat,网络监控命令sar等。 仅支持单个内表导出,不支持多表Join联合导出,不支持单表的聚集、排序、子查询、limit等操作结果导出。 本版本中GDS导出已经支持CN RETRY,当出现DN故障或者GTM故障导致的网络错误发生时会触发CN RETRY。注意要保证GDS 和内核版本一致或者都高于此版本。
-
规划导出路径 Remote模式 (可选)创建用户及所属的用户组。此用户为启动GDS的用户,该用户需要拥有导出数据文件存放目录的写权限。 groupadd gdsgrpuseradd -g gdsgrp gdsuser 若出现以下提示,说明数据库用户及所属用户组已存在,可跳过本步骤。 useradd: Account 'gdsuser' already exists.groupadd: Group 'gdsgrp' already exists. 创建导出的数据文件存放目录“/output_data”。 mkdir -p /output_data 修改数据文件目录属主为gdsuser。 chown -R gdsuser:gdsgrp /output_data Local模式 在集群的每个DN上创建导出数据文件存放目录“/output_data”。 mkdir -p /output_data 修改数据文件目录属主为omm。 chown -R omm:dbgrp /output_data 将参数“location”设为本地路径,不需要指定文件名。 例如:计划将导出数据文件存放在“/output_data/”目录中。 根据以上情况,在创建外表时,指定参数“location”为“file:///output_data/”。
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格