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.
Actualización más reciente 2024-06-12 GMT+08:00

Gestión de orígenes de datos de OBS

GaussDB(DWS) le permite acceder a datos en OBS mediante el uso de una delegación. Puede crear una delegación de GaussDB(DWS), conceder el permiso de OperateAccess de OBS u Administrador de OBS a la delegación, y vincular la delegación a una fuente de datos de OBS que haya creado. De esta manera, puede acceder a los datos de OBS utilizando tablas externas de OBS.

  • Esta función solo se admite en 8.2.0 o posterior.
  • Para el origen de datos OBS de un clúster, sólo se puede realizar una de las operaciones de creación, modificación y eliminación a la vez.

Creación de una delegación de OBS

Escenario

Antes de crear una fuente de datos OBS, cree una delegación que conceda a GaussDB(DWS) el permiso OperateAccess de OBS o Administrador de OBS.

Procedimiento

  1. Haga clic en su cuenta en la esquina superior derecha de la página y elija Identity and Access Management.

  2. En el panel de navegación de la izquierda, elija Agency. En la esquina superior derecha, haga clic en Create Agency.

  3. Seleccione Cloud Service y establezca Cloud Service en DWS.

  4. Haga clic en Next para conceder permiso al OperateAccess de OBS o al Administrador de OBS a la delegación.

  5. Haga clic en Next. Seleccione All resources o recursos específicos, confirme la información y haga clic en Submit.

Creación de un origen de datos de OBS

Prerrequisitos

Se ha creado una delegación para conceder a GaussDB(DWS) el permiso OperateAccess de OBS.

Procedimiento

  1. En la consola de gestión de GaussDB(DWS), seleccione Clusters.
  2. En la lista de clústeres, haga clic en el nombre de un clúster. En la página que se muestra, elija Data Sources >OBS Data Source.
  3. Haga clic en Create OBS Cluster Connection y configure los parámetros.

    Tabla 1 Parámetros de conexión de origen de datos de OBS

    Parámetro

    Descripción

    Data Source

    Nombre de la conexión de origen de datos OBS que se va a crear

    OBS Agency

    Delegación con permiso de OperateAccess de OBS para ser concedido a DWS

    Database

    Base de datos donde se va a crear la conexión de origen de datos de OBS

    Description

    Descripción acerca de la conexión de origen de datos de OBS

  4. Confirme la configuración y haga clic en OK. La creación tarda unos 10 segundos.

Actualización de la configuración del origen de datos de OBS

Escenario

Después de crear una conexión de origen de datos de OBS, GaussDB(DWS) actualiza periódicamente la información de delegación temporal utilizada por el origen de datos. Si la actualización automática falla durante 24 horas, la conexión del origen de datos no estará disponible. Para solucionar este problema, actualice manualmente la información de la consola.

Procedimiento

  1. En la consola de gestión de GaussDB(DWS), seleccione Clusters.
  2. En la lista de clústeres, haga clic en el nombre de un clúster. En la página que se muestra, elija Data Sources >OBS Data Source.
  3. En la columna Operation de un origen de datos OBS, haga clic en Update Configuration.

  4. Confirme la configuración y haga clic en OK. La actualización dura unos 10 segundos.

Cambio de la delegación de origen de datos de OBS

Escenario

Puede cambiar la delegación enlazada al origen de datos de OBS.

Procedimiento

  1. En la consola de gestión de GaussDB(DWS), seleccione Clusters.
  2. En la lista de clústeres, haga clic en el nombre de un clúster. En la página que se muestra, elija Data Sources >OBS Data Source.
  3. En la columna Operation de un origen de datos, haga clic en Manage Agency. En el cuadro de diálogo que se muestra, seleccione una nueva delegación.

  4. Confirme la configuración y haga clic en OK. El cambio tarda unos 10 segundos.

Eliminación de un origen de datos de OBS

  1. En la consola de gestión de GaussDB(DWS), seleccione Clusters.
  2. En la lista de clústeres, haga clic en el nombre de un clúster. En la página que se muestra, elija Data Sources >OBS Data Source.
  3. En la columna Operation de un origen de datos OBS, haga clic en Delete.

  4. Confirme la configuración y haga clic en OK. La eliminación tarda unos 10 segundos.

Uso de un origen de datos de OBS

GaussDB(DWS) utiliza tablas externas para acceder a datos en OBS. Los parámetros SERVER especificados para accesos con y sin delegación son diferentes.

Si accede a OBS sin una delegación, el SERVER proporcionado en la consola contiene los parámetros access_key y secret_access_key que son el AK y el SK del protocolo de acceso OBS, respectivamente.

Si accede a OBS con una delegación, el SERVER proporcionado en la consola contiene los parámetros access_key, secret_access_key y security_token que son el AK temporal, el SK temporal y el valor SecurityToken de la credencial de seguridad temporal en IAM, respectivamente.

Después de crear la delegación de OBS y el origen de datos de OBS, puede obtener la información SERVER, por ejemplo, obs_server en la consola. La forma en que los usuarios crean y usan tablas extranjeras con una delegación es la misma que la que hacen sin una delegación. Para obtener más información sobre cómo utilizar el origen de datos de OBS, consulte Importación de datos desde OBS.

En el ejemplo siguiente se leen datos de OBS a través de una tabla externa.

  1. Cree un customer_address de tabla externa de OBS que no contenga columnas de partición. Los archivos de obs_server están en formato ORC y almacenados en formato /user/obs/region_orc11_64stripe1/.
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    CREATE FOREIGN TABLE customer_address
    (
        ca_address_sk             integer               not null,
        ca_address_id             char(16)              not null,
        ca_street_number          char(10)                      ,   
        ca_street_name            varchar(60)                   ,   
        ca_street_type            char(15)                      ,   
        ca_suite_number           char(10)                      ,   
        ca_city                   varchar(60)                   ,   
        ca_county                 varchar(30)                   ,   
        ca_state                  char(2)                       ,   
        ca_zip                    char(10)                      ,   
        ca_country                varchar(20)                   ,   
        ca_gmt_offset             decimal(36,33)                  ,   
        ca_location_type          char(20)    
    ) 
    SERVER obs_server OPTIONS (
        FOLDERNAME '/user/obs/region_orc11_64stripe1/',
        FORMAT 'ORC',
        ENCODING 'utf8',
        TOTALROWS  '20'
    )
    DISTRIBUTE BY roundrobin;
    
  2. Consultar los datos almacenados en OBS mediante una tabla externa.
    1
    2
    3
    4
    5
    SELECT COUNT(*) FROM customer_address;
    count
    -------
    20
    (1row)