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/ Importación de datos de tablas desde MRS Hive a un clúster de DWS
Actualización más reciente 2026-09-29 GMT+08:00

Importación de datos de tablas desde MRS Hive a un clúster de DWS

Se crea una tabla externa de HDFS para permitir que DWS acceda o lea remotamente las fuentes de datos de MRS. DWS transmite datos a través de servidores y tablas externos. Esta práctica simula el proceso de escritura de datos desde una tabla ORC almacenada en MRS Hive hacia DWS mediante la creación de un servidor foráneo de fuente cruzada y una tabla foránea.

Un servidor foráneo es un objeto virtual configurado en una base de datos. Se utiliza para definir parámetros (como la dirección, el protocolo y la información de autenticación) para conectarse a una fuente de datos externa. A través de los servidores foráneos, la base de datos local puede consultar e insertar datos externos directamente, al igual que las tablas locales. (La sintaxis es similar, pero puede estar restringida por el rendimiento o las funciones).

Una tabla foránea es una tabla virtual en una base de datos. Los datos se almacenan fuera del sistema de bases de datos (como sistemas de archivos, otras bases de datos y almacenamiento en la nube). Sin embargo, mediante la definición y la interfaz de acceso del esquema de la tabla (metadatos), los usuarios pueden consultar los datos externos utilizando sentencias SQL estándar sin necesidad de importar los datos a la base de datos.

Según el tipo de fuente de datos interconectada, existen tablas foráneas de HDFS y tablas foráneas de OBS. La primera lee datos del sistema de archivos distribuido HDFS y la segunda lee datos del Object Storage Service (OBS).

Esta práctica toma aproximadamente 1 hora. El procedimiento básico es el siguiente:

  1. Paso 1: Comprar un clúster de MRS y preparar la fuente de datos de la tabla ORC de MRS: Cree un clúster de análisis MRS, cargue los archivos de datos TXT locales en un bucket de OBS e importe los archivos a una tabla de almacenamiento Hive y, a continuación, a una tabla de almacenamiento ORC.
  2. Paso 2: Crear una conexión de origen de datos de MRS: Cree una fuente de datos de MRS en la consola de DWS. Por defecto, se genera un servidor foráneo denominado mrs.
  3. Paso 3: Crear una tabla foránea: Cree una tabla foránea HDFS para acceder a los datos de MRS.
  4. Paso 4: Importar datos: Importe datos a una tabla local de DWS a través de una tabla foránea HDFS.

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í.

Paso 1: Comprar un clúster de MRS y preparar la fuente de datos de la tabla ORC de MRS

  1. Compre un clúster de análisis de MRS. Configure los parámetros clave como se describe en Tabla 1 y conserve los valores predeterminados de los otros parámetros. Para obtener más información, consulte Compra de clústeres de MRS.

    La creación de un clúster tarda aproximadamente 15 minutos. Puede continuar con las siguientes operaciones durante la creación del clúster.
    Tabla 1 Parámetros

    Parámetro

    Valor

    Region

    CN-Hong Kong

    Billing Mode

    Pago por uso

    Cluster Type

    Clúster de análisis

    Version Type

    Normal

    Cluster Version

    MRS 1.9.2 (recomendada)

    ATENCIÓN:
    • Los clústeres de DWS de la versión 8.1.1.300 o posterior admiten MRS 1.6.*, 1.7.*, 1.8.*, 1.9.*, 2.0.*, 3.0.*, 3.1.* y posteriores (* indica un número).
    • Los clústeres de DWS anteriores a la versión 8.1.1.300 admiten MRS 1.6.*, 1.7.*, 1.8.*, 1.9.* y 2.0.* (* indica un número).

    Metadata

    Local

    AZ

    AZ 1

    CPU Architecture

    x86

    Kerberos Authentication

    Deshabilitada

    Login Mode

    Contraseña

  2. Cree un archivo product_info.txt en la PC local, copie los siguientes datos en el archivo y guárdelo en la PC local.

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    100,XHDK-A-1293-#fJ3,2017-09-01,A,2017 Autumn New Shirt Women,red,M,328,2017-09-04,715,good
    205,KDKE-B-9947-#kL5,2017-09-01,A,2017 Autumn New Knitwear Women,pink,L,584,2017-09-05,406,very good!
    300,JODL-X-1937-#pV7,2017-09-01,A,2017 autumn new T-shirt men,red,XL,1245,2017-09-03,502,Bad.
    310,QQPX-R-3956-#aD8,2017-09-02,B,2017 autumn new jacket women,red,L,411,2017-09-05,436,It's really super nice
    150,ABEF-C-1820-#mC6,2017-09-03,B,2017 Autumn New Jeans Women,blue,M,1223,2017-09-06,1200,The seller's packaging is exquisite
    200,BCQP-E-2365-#qE4,2017-09-04,B,2017 autumn new casual pants men,black,L,997,2017-09-10,301,The clothes are of good quality.
    250,EABE-D-1476-#oB1,2017-09-10,A,2017 autumn new dress women,black,S,841,2017-09-15,299,Follow the store for a long time.
    108,CDXK-F-1527-#pL2,2017-09-11,A,2017 autumn new dress women,red,M,85,2017-09-14,22,It's really amazing to buy
    450,MMCE-H-4728-#nP9,2017-09-11,A,2017 autumn new jacket women,white,M,114,2017-09-14,22,Open the package and the clothes have no odor
    260,OCDA-G-2817-#bD3,2017-09-12,B,2017 autumn new woolen coat women,red,L,2004,2017-09-15,826,Very favorite clothes
    980,ZKDS-J-5490-#cW4,2017-09-13,B,2017 Autumn New Women's Cotton Clothing,red,M,112,2017-09-16,219,The clothes are small
    98,FKQB-I-2564-#dA5,2017-09-15,B,2017 autumn new shoes men,green,M,4345,2017-09-18,5473,The clothes are thick and it's better this winter.
    150,DMQY-K-6579-#eS6,2017-09-21,A,2017 autumn new underwear men,yellow,37,2840,2017-09-25,5831,This price is very cost effective
    200,GKLW-l-2897-#wQ7,2017-09-22,A,2017 Autumn New Jeans Men,blue,39,5879,2017-09-25,7200,The clothes are very comfortable to wear
    300,HWEC-L-2531-#xP8,2017-09-23,A,2017 autumn new shoes women,brown,M,403,2017-09-26,607,good
    100,IQPD-M-3214-#yQ1,2017-09-24,B,2017 Autumn New Wide Leg Pants Women,black,M,3045,2017-09-27,5021,very good.
    350,LPEC-N-4572-#zX2,2017-09-25,B,2017 Autumn New Underwear Women,red,M,239,2017-09-28,407,The seller's service is very good
    110,NQAB-O-3768-#sM3,2017-09-26,B,2017 autumn new underwear women,red,S,6089,2017-09-29,7021,The color is very good 
    210,HWNB-P-7879-#tN4,2017-09-27,B,2017 autumn new underwear women,red,L,3201,2017-09-30,4059,I like it very much and the quality is good.
    230,JKHU-Q-8865-#uO5,2017-09-29,C,2017 Autumn New Clothes with Chiffon Shirt,black,M,2056,2017-10-02,3842,very good
    

  3. Inicie sesión en la consola de OBS, haga clic en Create Bucket, configure los parámetros clave de la siguiente tabla, conserve los valores predeterminados de los otros parámetros y haga clic en Create Now.

    Tabla 2 Parámetros de bucket

    Parámetro

    Valor

    Region

    CN-Hong Kong

    Data Redundancy Policy

    Almacenamiento en una sola AZ

    Bucket Name

    mrs-datasource

    Default Storage Class

    Estándar

    Bucket Policy

    Privada

    Default Encryption

    Deshabilitada

    Direct Reading

    Deshabilitada

    Tags

    N/D

  4. Una vez creado el bucket, haga clic en el nombre del bucket y seleccione Object > Upload Object para cargar el archivo product_info.txt en el bucket de OBS.
  5. Vuelva a la consola de MRS y haga clic en el nombre del clúster de MRS creado. En la página Dashboard, haga clic en Synchronize junto a IAM User Sync. La sincronización tarda aproximadamente un minuto.
  6. Haga clic en Nodes y haga clic en un nodo principal. En la página que se muestra, cambie a la pestaña EIPs, haga clic en Bind EIP, seleccione una EIP existente y haga clic en OK. Si no hay ninguna EIP disponible, cree una. Registre la EIP.
  7. Determine el nodo maestro activo.

    1. Utilice SSH para iniciar sesión en el nodo anterior como usuario root. Ejecute el siguiente comando para cambiar al usuario omm:

      su - omm

    2. Ejecute el siguiente comando para consultar el nodo principal:

      sh ${BIGDATA_HOME}/om-0.0.1/sbin/status-oms.sh

      Si el valor de HAActive es active, el nodo es el nodo principal.

      • Si el nodo actual es el nodo principal, vaya a 9
      • Si el nodo actual no es el nodo principal, vaya a 8.

  8. Cierre la sesión y, a continuación, inicie sesión en el nodo principal como usuario root y cambie al usuario omm.

    su - omm

  9. Vaya al directorio donde se encuentra el cliente Hive.

    cd /opt/client

  10. Cree la tabla product_info cuyo formato de almacenamiento es TEXTFILE en Hive.

    1. Importe las variables de entorno al directorio /opt/client.

      source bigdata_env

    2. Inicie sesión en el cliente Hive.

      beeline

    3. Ejecute los siguientes comandos SQL en secuencia para crear una base de datos de demostración y la tabla product_info:
      1
      CREATE DATABASE demo;
      
      1
      USE demo;
      
       1
       2
       3
       4
       5
       6
       7
       8
       9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      DROP TABLE product_info;
      
      CREATE TABLE product_info 
      (    
          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)                   
      ) 
      row format delimited fields terminated by ',' 
      stored as TEXTFILE;
      

  11. Importe el archivo product_info.txt a Hive.

    1. Vuelva al clúster de MRS, haga clic en Files > Import Data.
      • OBS Path: Busque el archivo product_info.txt en el bucket de OBS creado y haga clic en Yes.
      • HDFS Path: Seleccione /user/hive/warehouse/demo.db/product_info/ y haga clic en Yes.
    1. Haga clic en OK para importar los datos de la tabla product_info.

  12. Cree una tabla ORC e importe datos a la tabla.

    1. Vuelva a la ventana SQL conectada al cliente Hive y ejecute la siguiente sentencia SQL para crear una tabla ORC:
       1
       2
       3
       4
       5
       6
       7
       8
       9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      DROP TABLE product_info_orc;
      
      CREATE TABLE product_info_orc
      (    
          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)                   
      ) 
      row format delimited fields terminated by ',' 
      stored as orc;
      
    2. Inserte datos en la tabla product_info en la tabla Hive ORC product_info_orc.
      1
      INSERT INTO product_info_orc select * from product_info;
      
    3. Consulte si la importación de datos se realizó correctamente.
      1
      SELECT * FROM product_info_orc;
      

Paso 2: Crear una conexión de origen de datos de MRS

  1. Inicie sesión en la consola de DWS. En el panel de navegación, seleccione Dedicated Clusters > Clusters. 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. En la barra de navegación superior, seleccione Data Source. En la página MRS Data Source, haga clic en Create MRS Cluster Connection.
  3. Configure los parámetros que se enumeran en la siguiente tabla, conserve los valores predeterminados de los otros parámetros y haga clic en OK.

    Tabla 3 Parámetros

    Parámetro

    Valor

    Data Source

    mrs

    Configuration Mode

    Cuenta de MRS

    MRS Data Source

    mrs_01 creado en el paso anterior

    MRS Account

    admin

    Password

    Contraseña definida por el usuario

    Database

    gaussdb

Paso 3: Crear una tabla foránea

  1. Conéctese al clúster de DWS creado.
  2. Vea los servidores externos del sistema.

    1
    SELECT * FROM pg_foreign_server;
    

    El resultado de la consulta muestra que, después de crear el origen de datos de MRS, el sistema genera automáticamente un servidor externo denominado mrs.

  3. Obtenga la ruta del archivo product_info_orc de Hive.

    1. Inicie sesión en la consola de MRS.
    2. Elija Cluster > Active Cluster y haga clic en el nombre del clúster que se consultará para acceder a la página que muestra la información básica del clúster.
    3. Haga clic en Files y haga clic en HDFS File List.
    4. Vaya al directorio de almacenamiento de los datos que se importarán al clúster de DWS y registre la ruta.
      Figura 1 Verificación de la ruta de almacenamiento de datos en MRS

  4. Cree una tabla foránea. Establezca SERVER en el nombre del origen de datos de MRS creado en Paso 2: Crear una conexión de origen de datos de MRS, por ejemplo, mrs, y establezca foldername en la ruta consultada en 3.

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    DROP FOREIGN TABLE IF EXISTS foreign_product_info;
    
    CREATE FOREIGN TABLE foreign_product_info
    (
        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 mrs
    OPTIONS (
    format 'orc', 
    encoding 'utf8',
    foldername '/user/hive/warehouse/demo.db/product_info_orc/'
    ) 
    DISTRIBUTE BY ROUNDROBIN;
    

Paso 4: Importar datos

  1. Cree una tabla local para la importación de datos.

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    DROP TABLE IF EXISTS product_info;
    CREATE TABLE product_info
    (
        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)                   
    ) 
    with (
    orientation = column,
    compression=middle
    ) 
    DISTRIBUTE BY HASH (product_id);
    

  2. Importe datos a la tabla de destino desde la tabla externa.

    1
    INSERT INTO product_info SELECT * FROM foreign_product_info;
    

  3. Consulte el resultado de la importación.

    1
    SELECT * FROM product_info;