云数据库 GaussDB-示例:示例:Local模式导出

时间:2023-11-01 16:22:50

示例:Local模式导出

集群总共有8个DN,其中每2个DN位于同一个物理节点上,共有4个物理节点,且磁盘空间足够且集群节点IO性能好,所以选择的并行导出模式为local模式。

Local模式导出数据操作示例如下所示:

  1. 登录集群的每个物理节点,创建导出数据文件存放目录“/output_data”,并修改数据文件目录“/output_data”的属主为omm
    以下以IP为192.168.0.11的节点为例,进行操作。
    mkdir -p /output_datachown -R omm:dbgrp /output_data 
  2. 在数据库上创建外表foreign_tpcds_reasons,用于导出数据。
    • 其中设置的导出模式信息如下所示:
      • 由于上一步中创建的导出数据文件存放目录为“/output_data/”。所以设置参数“location”为“file:///output_data/”。
    • 设置导出的数据文件格式信息如下所示:
      • 数据文件格式(format)为 CS V。
      • 编码格式(encoding)为UTF-8。
      • 字段分隔符(delimiter)为E'\x20'。
      • 引号字符(quote)为0x1b。
      • 数据文件中空值(null)为没有引号的空字符串。
      • 逃逸字符(escape)为默认值双引号。
      • 数据文件是否包含标题行(header)为默认值false,即导出时数据文件第一行被识别为数据。

    根据以上信息,创建的外表foreign_tpcds_reasons如下所示:

    123456
    openGauss=# 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 'file:///output_data/', FORMAT 'CSV',ENCODING 'utf8', DELIMITER E'\x20', QUOTE E'\x1b', NULL '') WRITE ONLY;
  3. 在数据库中执行数据导出。
    1
    openGauss=# INSERT INTO foreign_tpcds_reasons SELECT * FROM reasons;
  4. 查看导出的数据文件。

    数据文件将生成在集群各节点的“/output_data/YYYYMMDD/DN实例名”目录下。其中,“YYYYMMDD”为系统当前日期,“DN实例名”可通过以下语句查询。

     1 2 3 4 5 6 7 8 9101112
    openGauss=# SELECT node_name,node_host FROM pgxc_node WHERE node_type='D';  node_name   |   node_host    --------------+---------------- dn_6001_6002 | 192.168.0.11 dn_6003_6004 | 192.168.0.11 dn_6005_6006 | 192.168.0.12 dn_6007_6008 | 192.168.0.12 dn_6009_6010 | 192.168.0.13 dn_6011_6012 | 192.168.0.13 dn_6013_6014 | 192.168.0.14 dn_6015_6016 | 192.168.0.14(8 rows)

    以IP为192.168.0.11的节点为例,该节点上的DN实例名为“dn_6001_6002”和“dn_6003_6004”,则导出的数据文件存放在该节点“/output_data/20160101/dn_6001_6002”和“/output_data/20160101/dn_6003_6004”目录下。

support.huaweicloud.com/distributed-devg-v2-opengauss/gaussdb-v5r2c10-0238.html