更新时间:2024-10-14 GMT+08:00
执行导出数据
前提条件
需要确保每一个CN和DN所在服务器到GDS服务器的IP和端口是互通的。
操作步骤
- 执行数据导出。
1
INSERT INTO [foreign table 表名] SELECT * FROM [源表名];
- 编写批处理任务脚本,实现并发批量导出数据。并发量视机器资源使用情况而定。可通过几个表测试,监控资源利用率,根据结果提高或减少并发量。常用资源监控命令有:内存和CPU监控top命令,IO监控命令iostat,网络监控命令sar等。
- 仅支持单个内表导出,不支持多表Join联合导出,不支持单表的聚集、排序、子查询、limit等操作结果导出。
- 本版本中GDS导出已经支持CN RETRY(当前特性是实验室特性,使用时请联系华为工程师提供技术支持),当出现DN故障或者GTM故障导致的网络错误发生时会触发CN RETRY。注意要保证GDS 和内核版本一致或者都高于此版本。
任务示例
- 示例1:将表reasons的数据通过外表foreign_tpcds_reasons导出到数据文件中。
1
openGauss=# INSERT INTO foreign_tpcds_reasons SELECT * FROM reasons;
- 示例2:通过条件过滤(r_reason_sk =1),向数据文件中导出部分数据。
1
openGauss=# INSERT INTO foreign_tpcds_reasons SELECT * FROM reasons WHERE r_reason_sk=1;
- 示例3:对于特殊的数据类型如RAW类型,在导出之后是一个二进制文本,导入工具无法识别。需使用RAWTOHEX()函数将其转换为16进制文本导出。
1
openGauss=# INSERT INTO foreign_blob_type_tab SELECT RAWTOHEX(c) FROM blob_type_tab;
父主题: 使用外表并行导出