Consultar Dados Externos com o Catálogo de Dados do AWS Glue
O Autonomous Database suporta um sistema para sincronização com uma instância do Amazon AWS Glue Data Catalog.
- Sobre a Consulta com o AWS Glue Data Catalog
O Autonomous Database permite sincronizar com os metadados do Amazon Web Service (AWS) Glue Data Catalog. Uma tabela externa de banco de dados é criada automaticamente pelo Autonomous Database para cada tabela coletada pelo AWS Glue sobre dados armazenados no Amazon Simple Storage Service (S3). Os usuários podem consultar dados armazenados em S3 do Autonomous Database sem precisar derivar manualmente o esquema para as origens de dados externas e criar tabelas externas. - Conceitos Relacionados à Consulta com o AWS Glue Data Catalog
Uma compreensão dos conceitos a seguir é necessária para consultar com catálogos de dados do Amazon Web Service (AWS) Glue. - Mapeamento entre o Autonomous Database e o AWS Glue
Durante o processo de sincronização, são criadas tabelas externas no Autonomous Database derivadas dos bancos de dados e tabelas do AWS Glue Data Catalog no Amazon S3. - Workflow do Usuário para Consultar com o AWS Glue Data Catalog
O workflow básico do usuário para consultar dados do AWS S3 com o AWS Glue Data Catalog envolve estabelecer conexão com o AWS Glue Data Catalog, sincronizar com o Autonomous Database para criar automaticamente tabelas externas e, em seguida, consultar os dados do S3. - Exemplo: Consulta com o AWS Glue Data Catalog
Este exemplo orienta você no processo de execução de consultas em conjuntos de dados armazenados no Amazon Simple Storage Service (Amazon S3) usando um AWS Glue Data Catalog.
Tópico principal: Consultar Dados Externos com Autonomous Database
Sobre a consulta com o AWS Glue Data Catalog
O Autonomous Database permite sincronizar com os metadados do Catálogo de Dados de Colagem do Amazon Web Service (AWS). Uma tabela externa de banco de dados é criada automaticamente pelo Autonomous Database para cada tabela coletada pelo AWS Glue sobre dados armazenados no Amazon Simple Storage Service (S3). Os usuários podem consultar dados armazenados em S3 do Autonomous Database sem precisar derivar manualmente o esquema para as origens de dados externas e criar tabelas externas.
O Amazon AWS Glue Data Catalog é um serviço de gerenciamento de metadados centralizado que ajuda os profissionais de dados a descobrir dados e oferece suporte à governança de dados na nuvem da AWS. Uma instância do Autonomous Database tem a capacidade de sincronizar automaticamente metadados do catálogo de dados com o AWS Glue Data Catalog, permitindo que os usuários do banco de dados usem imediatamente o Autonomous Database para consultar dados armazenados na nuvem da AWS.
A sincronização com o AWS Glue Data Catalog tem as mesmas propriedades que a sincronização com o OCI Data Catalog. A sincronização é dinâmica, mantendo o banco de dados atualizado em relação às alterações nos dados subjacentes, reduzindo o custo de administração, pois mantém automaticamente centenas a milhares de tabelas.
Tópico principal: Consultar Dados Externos com o AWS Glue Data Catalog
Conceitos relacionados à consulta com o AWS Glue Data Catalog
Uma compreensão dos conceitos a seguir é necessária para consultar catálogos de dados do Amazon Web Service (AWS).
- AWS Glue Data Catalog: Banco de Dados
-
Um banco de dados do AWS Glue representa um conjunto de definições de tabelas relacionais, organizadas em um grupo lógico. Cada instância do catálogo de dados do AWS Glue gerencia vários bancos de dados.
- AWS Glue Data Catalog: Tabela
-
Uma tabela do AWS Glue representa uma tabela relacional sobre os dados armazenados na nuvem da AWS. Uma tabela do AWS Glue define o esquema dos dados subjacentes e consiste em informações de coluna, informações de partição, informações de serialização, informações de armazenamento, estatísticas, metadados definidos pelo usuário e outros metadados. As tabelas no catálogo de dados do AWS Glue podem ser criadas manualmente ou automaticamente usando um rastreador do AWS Glue.
- Catálogo de Dados da Coluna: Crawler
-
Você pode usar um crawler para preencher o catálogo de dados do AWS Glue com tabelas. Este é o principal método usado pela maioria dos usuários do AWS Glue. Um crawler pode fazer crawling de vários armazenamentos de dados em uma única execução. Após a conclusão, o crawler cria ou atualiza uma ou mais tabelas em seu catálogo de dados. Os jobs de extração, transformação e carregamento (ETL) que você define no AWS Glue usam essas tabelas do catálogo de dados como origens e destinos. O job de ETL lê e grava nos armazenamentos de dados especificados nas tabelas do catálogo de dados de origem e de destino.
As tabelas do AWS Glue podem ser criadas manualmente pelo usuário ou automaticamente usando um crawler predefinido ou personalizado. Os crawlers se conectam aos armazenamentos de dados subjacentes (por exemplo, Amazon S3), chamam classificadores para derivar o esquema dos dados e criam tabelas do AWS Glue para armazenar os metadados inferidos. O AWS Glue fornece classificadores para tipos de arquivos comuns, como CSV, JSON, Parquet e AVRO.
Tópico principal: Consultar Dados Externos com o AWS Glue Data Catalog
Mapeamento entre o Autonomous Database e o AWS Glue
Durante o processo de sincronização, são criadas tabelas externas no Autonomous Database derivadas dos bancos de dados e tabelas do AWS Glue Data Catalog no Amazon S3.
O AWS Glue organiza os metadados coletados em bancos de dados e tabelas. Um banco de dados do AWS Glue é um conjunto de definições de tabela relacional. Tabelas do AWS Glue que descrevem o esquema comum e as propriedades dos arquivos associados à tabela.
O AWS Glue segue o modelo relacional para representar atributos. Para mapeamento de esquemas hierárquicos para esquemas relacionais, o AWS Glue infere o esquema dos dados semiestruturados e simplifica os dados para um esquema relacional usando um processo ETL.
A tabela a seguir representa o mapeamento entre os conceitos do OCI Data Catalog e os Conceitos do AWS Glue Data Catalog.
Tabela 3-5 Mapeamento do OCI Data Catalog para o AWS Glue Data Catalog
OCI Data Catalog | Catálogo de Dados do AWS Glue | Oracle Database |
---|---|---|
Ativo de Dados | Banco de Dados | Esquema |
Pasta | (Bucket) | Esquema |
Entidade Lógica | Tabela | Tabela |
Tópico principal: Consultar Dados Externos com o AWS Glue Data Catalog
Workflow do Usuário para Consultar com o AWS Glue Data Catalog
O workflow básico do usuário para consultar dados do AWS S3 com o AWS Glue Data Catalog envolve estabelecer conexão com o AWS Glue Data Catalog, sincronizar com o Autonomous Database para criar automaticamente tabelas externas e, em seguida, consultar os dados do S3.
O Administrador de Consulta do Catálogo de Dados do Banco de Dados ou o Administrador do Banco de Dados concede acesso READ às tabelas externas geradas para que os Analistas de Dados e outros usuários do banco de dados possam procurar e consultar o Autonomous Database sem precisar derivar manualmente o esquema para as origens de dados externas e criar tabelas externas.
Usuários
A tabela abaixo descreve os diferentes tipos de usuários que executam as ações de workflow do usuário.
Usuário | Descrição |
---|---|
Administrador do Data Catalog do Banco de Dados | Usuário do banco de dados com a atribuição DCAT_SYNC .
|
Administrador de Consulta do Catálogo de Dados do Banco de Dados | Usuário do banco de dados capaz de conceder acesso em tabelas externas criadas automaticamente para outros usuários. |
Analista de Dados | Usuário do banco de dados no Autonomous Database consultando dados no AWS S3 consultando tabelas externas criadas automaticamente ou interagindo diretamente com o AWS Glue Data Catalog. |
Usuário do Catálogo de Dados do AWS Glue |
Usuário da AWS com acesso a um catálogo de dados do AWS Glue. |
Usuário do AWS S3 Object Storage |
Usuário da AWS com acesso aos dados armazenados na AWS S3 |
Workflow do Usuário
A tabela abaixo descreve cada ação incluída no workflow e que tipo de usuário pode executar a ação.
O pacote
DBMS_DCAT
está disponível para executar as tarefas necessárias para consultar o armazenamento de objetos do AWS S3 usando o AWS Glue Data Catalog. Consulte Pacote DBMS_DCAT.
Ação | Quem é o usuário | Descrição |
---|---|---|
Criar políticas | Administrador do Data Catalog do Banco de Dados |
A credencial de usuário do Autonomous Database deve ter as permissões apropriadas para acessar o AWS Glue Data Catalog e ler no armazenamento de objetos S3. Mais informações: Credenciais Obrigatórias e Políticas do Serviço IAM. |
Criar credenciais | Administrador do Data Catalog do Banco de Dados |
Certifique-se de que as credenciais do banco de dados estejam em vigor para acessar o AWS Glue Data Catalog e consultar o armazenamento de objetos S3. O usuário chama
DBMS_CLOUD.CREATE_CREDENTIAL para criar credenciais do usuário.
Observação
Somente as credenciais AWS (Amazon Web Services) são suportadas. As credenciais do AWS Amazon Resource Names (ARN) não são suportadas. Mais informações: DBMS_CLOUD Procedimento CREATE_CREDENTIAL |
Conectar |
Administrador do Data Catalog do Banco de Dados |
Estabelecer uma conexão entre uma instância do Autonomous Database e uma instância do AWS Glue Data Catalog. A conexão usa os privilégios do Usuário do Catálogo de Dados do AWS Glue. Há suporte para conexões de uma instância do Autonomous Database com várias instâncias do AWS Glue Data Catalog. Para iniciar uma conexão entre uma instância do Autonomous Database e uma instância do AWS Glue Data Catalog, o usuário:
Depois que a conexão for estabelecida, o Autonomous Database armazenará os metadados associados, como o id do catálogo do AWS Glue, a região, o ponto final e os objetos de credencial. Mais informações: SET_DATA_CATALOG_CONN Procedures, UNSET_DATA_CATALOG_CONN Procedure, SET_DATA_CATALOG_CREDENTIAL Procedure, SET_OBJECT_STORE_CREDENTIAL Procedure. |
Sincronizar |
Administrador do Data Catalog do Banco de Dados |
O usuário pode iniciar manualmente uma sincronização com os Catálogos de Dados do AWS Glue conectados usando A sincronização faz o seguinte:
Mais informações: Consulte Procedimento RUN_SYNC, Procedimento CREATE_SYNC_JOB, Procedimento DROP_SYNC_JOB, Mapeamento de Sincronização
|
Sincronização do Monitor |
Administrador do Data Catalog do Banco de Dados |
O usuário pode exibir o status de sincronização consultando a view USER_LOAD_OPERATIONS . Após a conclusão do processo de sincronização, o usuário poderá exibir um log dos resultados da sincronização, incluindo detalhes sobre os mapeamentos para tabelas externas.
Mais informações: Monitorando e Diagnosticando e Solucionando Problemas de Cargas |
Conceder privilégios |
Administrador de Consulta do Catálogo de Dados do Banco de Dados, Administrador do Banco de Dados |
O Administrador de Consulta do Catálogo de Dados ou o Administrador do Banco de Dados deve conceder privilégios READ em tabelas externas geradas aos usuários do analista de dados. Isso permite que os analistas de dados consultem as tabelas externas geradas. |
Consultar |
Analista de Dados |
Os analistas de dados podem revisar os esquemas e tabelas sincronizados nos esquemas GLUE$* e consultar as tabelas externas por meio de qualquer ferramenta ou aplicativo que suporte o Oracle SQL. Os dados no S3 são acessados usando os privilégios do usuário de armazenamento de objetos do AWS S3. Mais informações: Exemplo: Consulta com o AWS Glue Data Catalog |
Encerrar conexões |
Administrador do Data Catalog do Banco de Dados |
Para remover uma associação existente do serviço Data Catalog, o usuário chama o procedimento Essa ação só é feita quando você não planeja mais usar o AWS Glue Data Catalog conectado e as tabelas externas derivadas do catálogo. Esta ação exclui metadados do AWS Glue Data Catalog e elimina tabelas externas sincronizadas da instância do Autonomous Database. Mais informações: UNSET_DATA_CATALOG_CONN Procedimento |
Tópico principal: Consultar Dados Externos com o AWS Glue Data Catalog
Exemplo: Consulta com o AWS Glue Data Catalog
Este exemplo orienta você no processo de execução de consultas em conjuntos de dados armazenados no Amazon Simple Storage Service (Amazon S3) usando um Catálogo de Dados do AWS Glue.
Neste exemplo, os metadados em um Catálogo de Dados do AWS Glue são inspecionados para ver quais objetos do Amazon S3 foram submetidos a crawling anteriormente e existem no catálogo de dados. O Autonomous Database é então associado ao AWS Glue Data Catalog e ao Amazon S3. O catálogo de dados é sincronizado com o Autonomous Database para criar tabelas externas sobre os conjuntos de dados armazenados no Amazon S3. As tabelas externas são usadas para consultar os conjuntos de dados no Amazon S3.
- Inspecione metadados no AWS Glue Data Catalog.
- Inicie o console do AWS Glue.
Descrição da ilustração glue_console.png - Navegue até o catálogo de dados, bancos de dados e tabelas para localizar objetos existentes.
Neste exemplo, existem alguns objetos no Amazon S3 para os quais o AWS Glue fez crawling e criou tabelas anteriormente, conforme mostrado abaixo:
Descrição da ilustração glue_tables.png
- Inicie o console do AWS Glue.
- Associar o AWS Glue ao Autonomous Database.
- Crie credenciais no Autonomous Database.
A chamada de procedimento a seguir inclui o ID de acesso e a chave secreta para fornecer ao Autonomous Database acesso aos dados subjacentes no Amazon S3.
exec dbms_cloud.create_credential('CRED_AWS','<access id>', '<access key>');
- Associe as credenciais ao AWS Glue Data Catalog e ao armazenamento de objetos do Amazon S3.
Essas chamadas de procedimento associam o catálogo de dados e o armazenamento de objetos, respectivamente, às credenciais.
exec dbms_dcat.set_data_catalog_credential('CRED_AWS'); exec dbms_dcat.set_object_store_credential('CRED_AWS');
- Configure uma região da AWS na qual o Glue esteja em execução.
exec dbms_dcat.set_data_catalog_conn(region => 'us-west-2', catalog_type=>'AWS_GLUE');
- Crie credenciais no Autonomous Database.
- Sincronize metadados para criar tabelas externas no Autonomous Database derivadas de bancos de dados e tabelas do AWS Glue.
- Agora que a associação foi concluída, use a exibição
all_glue_databases
para encontrar quais bancos de dados estão dentro de um Catálogo de Dados do AWS Glue.select * from all_glue_databases order by name;
- Use a view
all_glue_tables
para obter uma lista de tabelas disponíveis para sincronização.select * from all_glue_tables order by database_name, name;
- Sincronize o Autonomous Database com duas tabelas,
store
eitem
, encontradas no banco de dadosparq
.begin dbms_dcat.run_sync( synced_objects => ' { "database_list": [ { "database": "parq", "table_list": ["store","item"] } ] }', error_semantics => 'STOP_ON_ERROR'); end; /
- Agora que a associação foi concluída, use a exibição
- Inspecione novos objetos no Autonomous Database e execute uma consulta no topo de S3.
- Use o SQL Developer para exibir novos objetos criados pela operação de sincronização anterior.
O esquema
GLUE$PARQ_TPCDS_ORACLE_PARQ
foi gerado e nomeado automaticamente pela chamada de procedimentodbms_dcat.run_sync
.
Descrição da ilustração glue_sql_dev.png - Execute uma consulta SQL em armazenamentos de conjuntos de dados no Amazon S3.
SELECT * FROM glue$parq_tpcds_oracle_parq.store;
- Use o SQL Developer para exibir novos objetos criados pela operação de sincronização anterior.
Tópico principal: Consultar Dados Externos com o AWS Glue Data Catalog