Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Trabalhando com visualizações do Glue Data Catalog - Amazon EMR

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Trabalhando com visualizações do Glue Data Catalog

Você pode criar e gerenciar visualizações no AWS Glue Data Catalog para uso com o EMR Serverless. Elas são comumente conhecidas como visualizações do AWS Glue Data Catalog. Essas visualizações são úteis porque oferecem suporte a vários mecanismos de consulta SQL, para que você possa acessar a mesma visualização em diferentes AWS serviços, como EMR Serverless e Amazon Athena Amazon Redshift.

Ao criar uma exibição no Catálogo de Dados, você pode usar concessões de recursos e controles de acesso baseados em tags AWS Lake Formation para conceder acesso a ela. Usando esse método de controle de acesso, você não precisa configurar acesso adicional às tabelas referenciadas ao criar a exibição. Esse método de concessão de permissões é chamado de semântica definidora, e essas exibições são chamadas de vizualizações definidoras. Para obter mais informações sobre o controle de acesso no Lake Formation, consulte Conceder e revogar permissões nos recursos do Catálogo de Dados no Guia do Desenvolvedor do AWS Lake Formation.

As vizualizações do Data Catalog são úteis para os seguintes casos de uso:

  • Controle de acesso granular — Você pode criar uma visualização que restringe o acesso aos dados com base nas permissões de que o usuário precisa. Por exemplo, você pode usar as exibições do Data Catalog para evitar que funcionários que não trabalham no departamento de RH vejam informações de identificação pessoal (PII).

  • Definição completa de exibição — Ao aplicar filtros em sua exibição no Catálogo de Dados, você garante que os registros de dados disponíveis em uma exibição no Catálogo de Dados estejam sempre completos.

  • Segurança aprimorada — A definição da consulta usada para criar a exibição deve estar completa. Esse benefício significa que as visualizações no Catálogo de Dados são menos suscetíveis aos comandos SQL de agentes mal-intencionados.

  • Compartilhamento simples de dados — compartilhe dados com outras AWS contas sem mover dados. Para obter mais informações, consulte Cross-account data sharing in Lake Formation.

Criação de uma visualização do Catálogo de Dados

Há diferentes maneiras de criar uma exibição do Catálogo de Dados. Isso inclui o uso do AWS CLI ou do Spark SQL. Seguem alguns exemplos.

Using SQL

A seguir, mostramos a sintaxe para criar uma exibição do Catálogo de Dados. Observe o tipo de MULTI DIALECT visualização. Isso distingue a exibição do Catálogo de Dados de outras visualizações. O SECURITY predicado é especificado comoDEFINER. Isso indica uma visualização do Catálogo de Dados com DEFINER semântica.

CREATE [ OR REPLACE ] PROTECTED MULTI DIALECT VIEW [IF NOT EXISTS] view_name [(column_name [COMMENT column_comment], ...) ] [ COMMENT view_comment ] [TBLPROPERTIES (property_name = property_value, ... )] SECURITY DEFINER AS query;

Veja a seguir um exemplo de CREATE declaração, seguindo a sintaxe:

CREATE PROTECTED MULTI DIALECT VIEW catalog_view SECURITY DEFINER AS SELECT order_date, sum(totalprice) AS price FROM source_table GROUP BY order_date

Você também pode criar uma visualização no modo dry-run, usando SQL, para testar a criação da visualização, sem realmente criar o recurso. O uso dessa opção resulta em uma “execução seca” que valida a entrada e, se a validação for bem-sucedida, retorna o JSON do objeto da tabela AWS Glue que representará a visualização. Nesse caso, a visualização real não é criada.

CREATE [ OR REPLACE ] PROTECTED MULTI DIALECT VIEW view_name SECURITY DEFINER [ SHOW VIEW JSON ] AS view-sql
Using the AWS CLI
nota

Quando você usa o comando CLI, o SQL usado para criar a exibição não é analisado. Isso pode resultar em um caso em que a exibição é criada, mas as consultas não são bem-sucedidas. Certifique-se de testar sua sintaxe SQL antes de criar a exibição.

Você usa o seguinte comando da CLI para criar uma visualização:

aws glue create-table --cli-input-json '{ "DatabaseName": "database", "TableInput": { "Name": "view", "StorageDescriptor": { "Columns": [ { "Name": "col1", "Type": "data-type" }, ... { "Name": "colN", "Type": "data-type" } ], "SerdeInfo": {} }, "ViewDefinition": { "SubObjects": [ "arn:aws:glue:aws-region:aws-account-id:table/database/referenced-table1", ... "arn:aws:glue:aws-region:aws-account-id:table/database/referenced-tableN", ], "IsProtected": true, "Representations": [ { "Dialect": "SPARK", "DialectVersion": "1.0", "ViewOriginalText": "Spark-SQL", "ViewExpandedText": "Spark-SQL" } ] } } }'

A seguir, mostramos a sintaxe para criar uma exibição do Catálogo de Dados. Observe o tipo de MULTI DIALECT visualização. Isso distingue a exibição do Catálogo de Dados de outras visualizações. O SECURITY predicado é especificado comoDEFINER. Isso indica uma visualização do Catálogo de Dados com DEFINER semântica.

CREATE [ OR REPLACE ] PROTECTED MULTI DIALECT VIEW [IF NOT EXISTS] view_name [(column_name [COMMENT column_comment], ...) ] [ COMMENT view_comment ] [TBLPROPERTIES (property_name = property_value, ... )] SECURITY DEFINER AS query;

Veja a seguir um exemplo de CREATE declaração, seguindo a sintaxe:

CREATE PROTECTED MULTI DIALECT VIEW catalog_view SECURITY DEFINER AS SELECT order_date, sum(totalprice) AS price FROM source_table GROUP BY order_date

Você também pode criar uma visualização no modo dry-run, usando SQL, para testar a criação da visualização, sem realmente criar o recurso. O uso dessa opção resulta em uma “execução seca” que valida a entrada e, se a validação for bem-sucedida, retorna o JSON do objeto da tabela AWS Glue que representará a visualização. Nesse caso, a visualização real não é criada.

CREATE [ OR REPLACE ] PROTECTED MULTI DIALECT VIEW view_name SECURITY DEFINER [ SHOW VIEW JSON ] AS view-sql

Operações de visualização suportadas

Os fragmentos de comando a seguir mostram várias maneiras de trabalhar com exibições do Catálogo de Dados:

  • CRIAR VISUALIZAÇÃO

    Cria uma visualização do catálogo de dados. Veja a seguir um exemplo que mostra a criação de uma exibição a partir de uma tabela existente:

    CREATE PROTECTED MULTI DIALECT VIEW catalog_view SECURITY DEFINER AS SELECT * FROM my_catalog.my_database.source_table
  • ALTERAR VISUALIZAÇÃO

    Sintaxe disponível:

    • ALTER VIEW view_name [FORCE] ADD DIALECT AS query

    • ALTER VIEW view_name [FORCE] UPDATE DIALECT AS query

    • ALTER VIEW view_name DROP DIALECT

    Você pode usar a FORCE ADD DIALECT opção para forçar a atualização do esquema e dos subobjetos de acordo com o novo dialeto do mecanismo. Observe que fazer isso pode resultar em erros de consulta se você também não usar FORCE para atualizar outros dialetos do mecanismo. O exemplo a seguir é mostrado:

    ALTER VIEW catalog_view FORCE ADD DIALECT AS SELECT order_date, sum(totalprice) AS price FROM source_table GROUP BY orderdate;

    Veja a seguir como alterar uma exibição para atualizar o dialeto:

    ALTER VIEW catalog_view UPDATE DIALECT AS SELECT count(*) FROM my_catalog.my_database.source_table;
  • DESCREVA A VISUALIZAÇÃO

    Sintaxe disponível para descrever uma visualização:

    • SHOW COLUMNS {FROM|IN} view_name [{FROM|IN} database_name]— Se o usuário tiver as permissões necessárias de AWS Glue e Lake Formation para descrever a visualização, ele poderá listar as colunas. Veja a seguir alguns exemplos de comandos para mostrar colunas:

      SHOW COLUMNS FROM my_database.source_table; SHOW COLUMNS IN my_database.source_table;
    • DESCRIBE view_name— Se o usuário tiver as permissões necessárias de AWS Glue e Lake Formation para descrever a visualização, ele poderá listar as colunas na exibição junto com seus metadados.

  • EXIBIÇÃO SUSPENSA

    Sintaxe disponível:

    • DROP VIEW [ IF EXISTS ] view_name

      O exemplo a seguir mostra uma DROP declaração que testa se existe uma visualização antes de descartá-la:

      DROP VIEW IF EXISTS catalog_view;
  • MOSTRAR CRIAR VISUALIZAÇÃO

    • SHOW CREATE VIEW view_name— Mostra a instrução SQL que cria a visualização especificada. Veja a seguir um exemplo que mostra a criação de uma exibição do catálogo de dados:

      SHOW CREATE TABLE my_database.catalog_view; CREATE PROTECTED MULTI DIALECT VIEW my_catalog.my_database.catalog_view ( net_profit, customer_id, item_id, sold_date) TBLPROPERTIES ( 'transient_lastDdlTime' = '1736267222') SECURITY DEFINER AS SELECT * FROM my_database.store_sales_partitioned_lf WHERE customer_id IN (SELECT customer_id from source_table limit 10)
  • MOSTRAR VISUALIZAÇÕES

    Liste todas as visualizações no catálogo, como visualizações regulares, visualizações com vários dialetos (MDV) e MDV sem o dialeto Spark. A sintaxe disponível é a seguinte:

    • SHOW VIEWS [{ FROM | IN } database_name] [LIKE regex_pattern]:

      Veja a seguir um exemplo de comando para mostrar visualizações:

      SHOW VIEWS IN marketing_analytics LIKE 'catalog_view*';

Para obter mais informações sobre como criar e configurar visualizações do catálogo de dados, consulte Como criar visualizações do catálogo de dados do AWS Glue no Guia do AWS Lake Formation desenvolvedor.

Consulta de uma visualização do Catálogo de Dados

Depois de criar uma visualização do catálogo de dados, você pode usar uma função do IAM para consultar a visualização. A função do IAM deve ter a permissão Lake Formation SELECT na visualização do catálogo de dados. Você não precisa conceder acesso às tabelas subjacentes referenciadas na exibição. A função do IAM usada para consultar a visualização deve ser a função de tempo de execução do aplicativo EMR. Você pode acessar a visualização do EMR Serverless, usando uma função de tempo de execução das etapas do Amazon EMR, do EMR Studio e do AI Studio. SageMaker

Depois de configurar tudo, você pode consultar sua exibição. Por exemplo, depois de criar um aplicativo EMR Serverless no EMR Studio, você pode executar a consulta a seguir para acessar uma visualização.

SELECT * from my_database.catalog_view LIMIT 10;

Considerações e limitações

Quando você cria visualizações do Catálogo de Dados, o seguinte se aplica:

  • Você só pode criar visualizações do catálogo de dados com o Amazon EMR 7.6 e superior.

  • O definidor da visualização do Catálogo de Dados deve ter SELECT acesso às tabelas base subjacentes acessadas pela exibição. A criação da visualização do Catálogo de Dados falhará se uma tabela base específica tiver algum filtro Lake Formation imposto à função definidora.

  • As tabelas base não devem ter a permissão IAMAllowedPrincipals de data lake no Lake Formation. Se presente, o erro de visualizações de vários dialetos só pode fazer referência a tabelas sem a permissão do IAMAllowed Principal.

  • A localização da tabela no Amazon S3 deve ser registrada como uma localização de data lake do Lake Formation. Se a tabela não estiver registrada, ocorrerá o erro de visualizações de vários dialetos somente referenciar tabelas gerenciadas pelo Lake Formation. Para obter informações sobre como registrar locais do Amazon S3 em Lake Formation, consulte Registro de um local do Amazon S3 no Guia do desenvolvedor. AWS Lake Formation

  • Você só pode criar vizualizações PROTECTED do Data Catalog. Não há suporte para exibições UNPROTECTED.

  • Você não pode referenciar tabelas em outra AWS conta em uma definição de exibição do Catálogo de Dados. Você também não pode referenciar uma tabela na mesma conta que esteja em uma região separada.

  • Para compartilhar dados em uma conta ou região, toda a visualização deve ser compartilhada entre contas e regiões, usando links de recursos do Lake Formation.

  • As funções definidas pelo usuário (UDFs) não são suportadas.

  • Você pode usar visualizações com base nas tabelas do Iceberg. Os formatos de tabela aberta Apache Hudi e Delta Lake também são suportados.

  • Não é possível fazer referência a outras vizualizações nas exibições do Data Catalog.

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.