Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Centro de ayuda/ Data Warehouse Service/ Prácticas recomendadas / Importación y exportación/ Exportación de datos ORC de un clúster de DWS a un clúster de MRS
Actualización más reciente 2026-09-29 GMT+08:00

Exportación de datos ORC de un clúster de DWS a un clúster de MRS

DWS le permite exportar datos ORC a MRS mediante una tabla foránea de HDFS. Puede especificar el modo de exportación y el formato de datos de exportación en la tabla externa. Los datos se exportan de DWS en paralelo mediante múltiples DN y se almacenan en HDFS. De este modo, se mejora el rendimiento general de la exportación.

Preparación del entorno

Cree un clúster de DWS. Asegúrese de que los clústeres de MRS y DWS estén en la misma región, AZ y subred de VPC y que los clústeres puedan comunicarse entre sí.

Creación de un clúster de MRS

  1. Inicie sesión en la consola de MRS y haga clic en Buy Cluster. En la página que se muestra, seleccione Custom Config, configure los parámetros de software y haga clic en Next.

    Tabla 1 Configuración de software

    Parámetro

    Valor de ejemplo

    Region

    CN-Hong Kong

    Cluster Name

    mrs_01

    Cluster Version

    MRS 1.9.2 (recomendada)

    NOTA:
    • Para los clústeres de la versión 8.1.1.300 y posteriores, los clústeres de MRS admiten las versiones 1.6.*, 1.7.*, 1.8.*, 1.9.*, 2.0.*, 3.0.*, 3.1.* y posteriores (* indica un número).
    • Para los clústeres anteriores a la versión 8.1.1.300, los clústeres de MRS admiten las versiones 1.6.*, 1.7.*, 1.8.*, 1.9.* y 2.0.* (* indica un número).

    Cluster Type

    Clúster de análisis

  2. Configure los parámetros de hardware y haga clic en Next.

    Tabla 2 Configuración de hardware

    Parámetro

    Valor de ejemplo

    Billing Mode

    Pago por uso

    AZ

    AZ2

    VPC

    vpc-01

    Subnet

    subnet-01

    Security Group

    Creación automática

    EIP

    10.x.x.x

    Enterprise Project

    default

    Master

    2

    Analysis Core

    3

    Analysis Task

    0

  3. Configure los ajustes avanzados según la siguiente tabla, haga clic en Buy Now y espere unos 15 minutos para que se complete la creación del clúster.

    Tabla 3 Configuración avanzada

    Parámetro

    Valor de ejemplo

    Tag

    test01

    Hostname Prefix

    (Opcional) Prefijo para el nombre de un ECS o BMS en el clúster.

    Auto Scaling

    Conserve el valor predeterminado.

    Bootstrap Action

    Conserve el valor predeterminado. MRS 3.x no admite este parámetro.

    Agency

    Conserve el valor predeterminado.

    Data Disk Encryption

    Esta función está deshabilitada de forma predeterminada. Conserve el valor predeterminado.

    Alarm

    Conserve el valor predeterminado.

    Rule Name

    Conserve el valor predeterminado.

    Topic Name

    Seleccione un tema.

    Kerberos Authentication

    Este parámetro está habilitado de forma predeterminada.

    User Name

    admin

    Password

    Esta contraseña se utiliza para iniciar sesión en la página de gestión del clúster.

    Confirm Password

    Ingrese la contraseña del usuario Admin de nuevo.

    Login Mode

    Contraseña

    User Name

    root

    Password

    Esta contraseña se utiliza para iniciar sesión de forma remota en el ECS.

    Confirm Password

    Ingrese la contraseña del usuario root de nuevo.

    Secure Communications

    Seleccione Enable.

Creación de una conexión de clúster de MRS

  1. Inicie sesión en la consola de DWS y haga clic en el clúster de DWS creado. Asegúrese de que el clúster de DWS y MRS estén en la misma región, AZ y subred de VPC.
  2. Haga clic en la pestaña MRS Data Source y haga clic en Create MRS Cluster Connection.
  3. Seleccione el origen de datos mrs_01 creado en el paso anterior, ingrese el nombre de la cuenta de MRS admin y su contraseña, y haga clic en OK.

Creación de un servidor foráneo

  1. Conéctese al clúster de DWS creado.
  2. Cree un usuario dbuser que tenga permiso para crear bases de datos.

    1
    CREATE USER dbuser WITH CREATEDB PASSWORD 'password';
    

  1. Cambie al usuario dbuser.

    1
    SET ROLE dbuser PASSWORD 'password';
    

  1. Cree una base de datos mydatabase.

    1
    CREATE DATABASE mydatabase;
    

  1. Cambie a la nueva base de datos mydatabase y otorgue el permiso para crear servidores externos al usuario dbuser. En la versión 8.1.1 y versiones posteriores, también debe otorgar el permiso para usar el modo público.

    1
    2
    GRANT ALL ON FOREIGN DATA WRAPPER hdfs_fdw TO dbuser;
    In GRANT ALL ON SCHEMA public TO dbuser; //8.1.1 and later versions, common users do not have permission on the public mode and need to grant permission. In versions earlier than 8.1.1, you do not need to perform this operation.
    

    El nombre de FOREIGN DATA WRAPPER debe ser hdfs_fdw. dbuser indica el nombre de usuario de CREATE SERVER.

  2. Otorgue al usuario dbuser el permiso para usar tablas foráneas.

    1
    ALTER USER dbuser USEFT;
    

  3. Cambie a la base de datos Postgres y consulte el servidor foráneo creado automáticamente por el sistema después de crear el origen de datos de MRS.

    1
    SELECT * FROM pg_foreign_server;
    

    Se muestra información similar a la siguiente:

    1
    2
    3
    4
    5
    6
                         srvname                      | srvowner | srvfdw | srvtype | srvversion | srvacl |                                                     srvoptions
    --------------------------------------------------+----------+--------+---------+------------+--------+---------------------------------------------------------------------------------------------------------------------
     gsmpp_server                                     |       10 |  13673 |         |            |        |
     gsmpp_errorinfo_server                           |       10 |  13678 |         |            |        |
     hdfs_server_8f79ada0_d998_4026_9020_80d6de2692ca |    16476 |  13685 |         |            |        | {"address=192.168.1.245:9820,192.168.1.218:9820",hdfscfgpath=/MRS/8f79ada0-d998-4026-9020-80d6de2692ca,type=hdfs}
    (3 rows)
    

  4. Cambie a la base de datos mydatabase y cambie al usuario dbuser.

    1
    SET ROLE dbuser PASSWORD 'password';
    

  5. Cree un servidor externo.

    El nombre del servidor, la dirección y la ruta de configuración deben ser los mismos que los de 7.

    1
    2
    3
    4
    5
    6
    7
    CREATE SERVER hdfs_server_8f79ada0_d998_4026_9020_80d6de2692ca FOREIGN DATA WRAPPER HDFS_FDW 
    OPTIONS 
    (
    address '192.168.1.245:9820,192.168.1.218:9820',   //The intranet IP addresses of the active and standby master nodes on the MRS management plane, which can be used to communicate with DWS.
    hdfscfgpath '/MRS/8f79ada0-d998-4026-9020-80d6de2692ca',
    type 'hdfs'
    );
    

  6. Vea el servidor foráneo.

    1
    SELECT * FROM pg_foreign_server WHERE srvname='hdfs_server_8f79ada0_d998_4026_9020_80d6de2692ca';
    

    El servidor se crea correctamente si se muestra información similar a la siguiente:

    1
    2
    3
    4
                         srvname                      | srvowner | srvfdw | srvtype | srvversion | srvacl |                                                     srvoptions
    --------------------------------------------------+----------+--------+---------+------------+--------+---------------------------------------------------------------------------------------------------------------------
     hdfs_server_8f79ada0_d998_4026_9020_80d6de2692ca |    16476 |  13685 |         |            |        | {"address=192.168.1.245:9820,192.168.1.218:9820",hdfscfgpath=/MRS/8f79ada0-d998-4026-9020-80d6de2692ca,type=hdfs}
    (1 row)
    

Creación de una tabla foránea

Cree una tabla foránea HDFS que no contenga columnas de partición. El servidor foráneo asociado a la tabla es hdfs_server, el formato del archivo en HDFS correspondiente a la tabla es ORC y la ruta de almacenamiento de datos en HDFS es /user/hive/warehouse/product_info_orc/.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
DROP FOREIGN TABLE IF EXISTS product_info_output_ext;
CREATE FOREIGN TABLE product_info_output_ext
(
    product_price                integer        ,
    product_id                   char(30)       ,
    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 hdfs_server_8f79ada0_d998_4026_9020_80d6de2692ca 
OPTIONS (
format 'orc', 
foldername '/user/hive/warehouse/product_info_orc/',
   compression 'snappy',
    version '0.12'
) Write Only;

Exportación de datos

Cree una tabla ordinaria product_info_output.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
DROP TABLE product_info_output;
CREATE TABLE product_info_output 
(    
    product_price                int            ,
    product_id                   char(30)       ,
    product_time                 date           ,
    product_level                char(10)       ,
    product_name                 varchar(200)   ,
    product_type1                varchar(20)    ,
    product_type2                char(10)       ,
    product_monthly_sales_cnt    int            ,
    product_comment_time         date           ,
    product_comment_num          int        ,
    product_comment_content      varchar(200)                   
) 
with (orientation = column,compression=middle)
distribute by hash (product_name);
Exporte datos de la tabla product_info_output a un archivo de datos mediante la tabla foránea product_info_output_ext.
1
INSERT INTO product_info_output_ext SELECT * FROM product_info_output;

Si se muestra la siguiente información, los datos se exportaron correctamente:

1
INSERT 0 10

Consulta del resultado de la exportación

  1. Vaya a la lista de clústeres de MRS. Haga clic en el nombre de un clúster para ir a la página de detalles del clúster.
  2. Haga clic en la pestaña Files y haga clic en HDFS File List. Verifique el archivo ORC exportado en el directorio user/hive/warehouse/product_info_orc.

    Los datos ORC exportados de DWS cumplen con las siguientes reglas:

    • Datos exportados a MRS (HDFS): Cuando los datos se exportan desde un DN, los datos se almacenan en HDFS en formato de segmento. El archivo se nombra en el formato mpp_DatabaseName_SchemaName_TableName_NodeName_n.orc.
    • Se recomienda exportar datos de diferentes clústeres o bases de datos a diferentes rutas. El tamaño máximo de un archivo ORC es de 128 MB, y el tamaño máximo de una stripe es de 64 MB.
    • Una vez completada la exportación, se genera el archivo _SUCCESS.