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
- Haga clic en su cuenta en la esquina superior derecha de la página y elija Identity and Access Management.
- En el panel de navegación de la izquierda, elija Agency. En la esquina superior derecha, haga clic en Create Agency.
- Seleccione Cloud Service y establezca Cloud Service en DWS.
- Haga clic en Next para conceder permiso al OperateAccess de OBS o al Administrador de OBS a la delegación.
- 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
- En la consola de gestión de GaussDB(DWS), seleccione Clusters.
- 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.
- 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
- 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
- En la consola de gestión de GaussDB(DWS), seleccione Clusters.
- 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.
- En la columna Operation de un origen de datos OBS, haga clic en Update Configuration.
- 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
- En la consola de gestión de GaussDB(DWS), seleccione Clusters.
- 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.
- 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.
- Confirme la configuración y haga clic en OK. El cambio tarda unos 10 segundos.
Eliminación de un origen de datos de OBS
- En la consola de gestión de GaussDB(DWS), seleccione Clusters.
- 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.
- En la columna Operation de un origen de datos OBS, haga clic en Delete.
- 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.
- 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;
- Consultar los datos almacenados en OBS mediante una tabla externa.
1 2 3 4 5
SELECT COUNT(*) FROM customer_address; count ------- 20 (1row)