Gerenciamento de fontes de dados do OBS
GaussDB(DWS) permite que você acesse dados no OBS usando uma agência. Você pode criar uma agência do GaussDB(DWS), conceder as permissões OBS ou OBS Administrator à agência e vincular a agência a uma fonte de dados do OBS que você criou. Dessa forma, você pode acessar dados no OBS usando tabelas estrangeiras do OBS.
- Este recurso é suportado apenas na versão 8.2.0 ou posterior.
- Para a origem de dados do OBS de um cluster, apenas uma das operações de criação, modificação e eliminação pode ser executada de cada vez.
Criar uma agência do OBS
Cenário
Antes de criar uma fonte de dados do OBS, crie uma agência que conceda ao GaussDB(DWS) a permissão OBS OperateAccess ou OBS Administrator.
Procedimento
- Clique em sua conta no canto superior direito da página e escolha Identity and Access Management.
- No painel de navegação à esquerda, escolha Agency. No canto superior direito, clique em Create Agency.
- Selecione Cloud Service e defina Cloud Service como DWS.
- Clique em Next para conceder a permissão OBS OperateAccess ou OBS Administrator à agência.
- Clique em Next. Selecione All resources ou recursos específicos, confirme as informações e clique em Submit.
Criar uma fonte de dados do OBS
Pré-requisitos
Uma agência foi criada para conceder ao GaussDB(DWS) a permissão OBS OperateAccess.
Procedimento
- No console de gerenciamento do GaussDB(DWS), escolha Clusters.
- Na lista de clusters, clique no nome de um cluster. Na página exibida, escolha Data Sources > OBS Data Source.
- Clique em Create OBS Cluster Connection e configure parâmetros.
Tabela 1 Parâmetros de conexão da origem de dados do OBS Parâmetro
Descrição
Data Source
Nome da conexão de origem de dados do OBS a ser criada
OBS Agency
Agência com permissão OBS OperateAccess a ser concedida ao DWS
Database
Banco de dados onde a conexão de fonte de dados do OBS deve ser criada
Description
Descrição sobre a conexão de origem de dados do OBS
- Confirme as configurações e clique em OK. A criação demora cerca de 10 segundos.
Atualizar a configuração da origem de dados do OBS
Cenário
Depois que uma conexão de fonte de dados do OBS é criada, o GaussDB(DWS) atualiza periodicamente as informações da agência temporária usadas pela fonte de dados. Se a atualização automática falhar durante 24 horas, a conexão à origem de dados não estará disponível. Para resolver esse problema, atualize manualmente as informações no console.
Procedimento
- No console de gerenciamento do GaussDB(DWS), escolha Clusters.
- Na lista de clusters, clique no nome de um cluster. Na página exibida, escolha Data Sources > OBS Data Source.
- Na coluna Operation de uma origem de dados do OBS, clique em Update Configuration.
- Confirme as configurações e clique em OK. A atualização demora cerca de 10 segundos.
Alterar a agência de origem de dados do OBS
Cenário
Você pode alterar a agência vinculada à fonte de dados do OBS.
Procedimento
- No console de gerenciamento do GaussDB(DWS), escolha Clusters.
- Na lista de clusters, clique no nome de um cluster. Na página exibida, escolha Data Sources > OBS Data Source.
- Na coluna Operation de uma fonte de dados, clique em Manage Agency. Na caixa de diálogo exibida, selecione uma nova agência.
- Confirme as configurações e clique em OK. A mudança leva cerca de 10 segundos.
Excluir uma fonte de dados do OBS
- No console de gerenciamento do GaussDB(DWS), escolha Clusters.
- Na lista de clusters, clique no nome de um cluster. Na página exibida, escolha Data Sources > OBS Data Source.
- Na coluna Operation de uma fonte de dados do OBS, clique em Delete.
- Confirme as configurações e clique em OK. A exclusão demora cerca de 10 segundos.
Usar uma fonte de dados do OBS
GaussDB(DWS) usa tabelas estrangeiras para acessar dados no OBS. Os parâmetros SERVER especificados para acessos com e sem agência são diferentes.
Se você acessar o OBS sem uma agência, o SERVER fornecido no console conterá os parâmetros access_key e secret_access_key, que são o AK e a SK do protocolo de acesso do OBS, respectivamente.
Se você acessar o OBS com uma agência, o SERVER fornecido no console conterá os parâmetros access_key, secret_access_key e security_token, que são o AK temporário, a SK temporária e o valor de SecurityToken da credencial de segurança temporária no IAM, respectivamente.
Depois que a agência do OBS e a fonte de dados do OBS forem criadas, você poderá obter as informações do SERVER, por exemplo, obs_server, no console. A maneira como os usuários criam e usam tabelas estrangeiras com uma agência é a mesma como eles fazem sem uma agência. Para obter detalhes sobre como usar a fonte de dados do OBS, consulte Importação de dados do OBS.
O exemplo a seguir lê dados do OBS por meio de uma tabela estrangeira.
- Crie uma tabela estrangeira do OBS customer_address que não contenha colunas de partição. Os arquivos no obs_server estão no formato ORC e são armazenados em /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;
- Consulte dados armazenados no OBS usando uma tabela estrangeira.
1 2 3 4 5
SELECT COUNT(*) FROM customer_address; count ------- 20 (1row)