View a markdown version of this page

Considerações e limitações - 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á.

Considerações e limitações

Geral

Analise as seguintes limitações ao usar o Lake Formation com o EMR Serverless.

nota

Quando você habilita o Lake Formation para um trabalho do Spark no EMR Sem Servidor, o trabalho inicia um driver de sistema e um driver de usuário. Se você especificou a capacidade pré-inicializada na inicialização, os drivers são provisionados na capacidade pré-inicializada e o número de drivers do sistema é igual ao número de drivers de usuário que você especifica. Se você escolher a capacidade sob demanda, o EMR Sem Servidor iniciará um driver de sistema além de um driver de usuário. Para estimar os custos associados ao trabalho do EMR Sem Servidor com o Lake Formation, use o serviço AWS Calculadora de Preços.

  • Formation-enabled Os aplicativos Lake não oferecem suporte ao uso de imagens personalizadas do EMR Serverless.

  • Você não pode desativar DynamicResourceAllocation para trabalhos do Lake Formation.

  • Você só pode usar o Lake Formation com trabalhos do Spark.

  • O EMR Sem Servidor com Lake Formation oferece suporte apenas a uma única sessão do Spark durante todo o trabalho.

  • O EMR Sem Servidor com Lake Formation só oferece suporte a consultas de tabelas entre contas compartilhadas por meio de links de recursos.

  • As seguintes opções não são compatíveis:

    • Conjuntos de dados distribuídos resilientes (RDD)

    • Streaming do Spark

    • Controle de acesso para colunas aninhadas

  • O EMR Sem Servidor bloqueia funcionalidades que podem prejudicar o isolamento completo do driver do sistema, incluindo as seguintes:

    • UDTs, HiveUDFs e qualquer função definida pelo usuário que envolva classes personalizadas

    • Fontes de dados personalizadas

    • Fornecimento de JARs adicionais para extensão, conector ou metastore do Spark

    • Comando ANALYZE TABLE

  • Se seu aplicativo EMR Serverless estiver em uma sub-rede privada com endpoints VPC para o Amazon S3 e você anexar uma política de endpoint para controlar o acesso, antes que seus trabalhos possam enviar dados de log para o Amazon S3 gerenciado, inclua as permissões detalhadas em Armazenamento gerenciado AWS em sua política de VPC para o endpoint do gateway S3. Para solicitações de solução de problemas, entre em contato com AWS o suporte.

  • A partir do Amazon EMR 7.9.0, o Spark FGAC oferece suporte S3AFileSystem quando usado com o esquema s3a://.

  • O Amazon EMR 7.11 oferece suporte à criação de tabelas gerenciadas usando CTAS.

  • O Amazon EMR 7.12 oferece suporte à criação de tabelas gerenciadas e externas usando CTAS.

  • A partir do Amazon EMR 7.12, as operações de DML e DDL que modificam os dados da tabela usam as credenciais do Lake Formation. No Amazon EMR 7.11 e em versões anteriores, essas operações (exceto DELETE, UPDATE e MERGE) usam as credenciais da função de tempo de execução do trabalho para modificar os dados da tabela. O Amazon EMR 7.11 e versões anteriores não oferecem suporte às operações DELETE, UPDATE e MERGE.

  • As operações DDL e DML que modificam os dados da tabela usando as Formation-vended credenciais do AWS Lake oferecem suporte somente ao S3A. Quando você usa o EMRFS, as credenciais da função de tempo de execução do trabalho se aplicam em vez disso.

  • O EMR Serverless com Lake Formation não oferece suporte à leitura ou gravação em tabelas que apontam para um local que não seja do S3.

Permissões

  • Para aplicar controles de acesso, as operações EXPLAIN PLAN e DDL, como DESCRIBE TABLE, não expõem informações restritas.

  • Quando você registra a localização de uma tabela no Lake Formation, o acesso aos dados usa as credenciais armazenadas do Lake Formation em vez das permissões IAM da função de tempo de execução de trabalho do EMR Serverless. Os trabalhos falharão se a função registrada para a localização da tabela estiver configurada incorretamente, mesmo quando a função de tempo de execução tiver permissões do S3 IAM para essa localização.

  • A partir do Amazon EMR 7.12, você pode gravar nas tabelas existentes do Hive e do Iceberg usando DataFrameWriter (V2) com as credenciais do Lake Formation no modo de acréscimo. Para operações de substituição ou ao criar novas tabelas, o EMR usa as credenciais da função de tempo de execução para modificar os dados da tabela.

  • As seguintes limitações se aplicam ao usar exibições ou tabelas em cache como dados de origem (essas limitações não se aplicam às visualizações do AWS Glue Data Catalog):

    • Para operações MERGE, DELETE e UPDATE

      • Compatível: uso de visualizações e tabelas em cache como tabelas de origem.

      • Não suportado: uso de visualizações e tabelas em cache em cláusulas de atribuição e condição.

    • Para as operações CREATE OR REPLACE e REPLACE TABLE AS SELECT:

      • Não suportado: uso de visualizações e tabelas em cache como tabelas de origem.

  • As tabelas Delta Lake com UDFs nos dados de origem oferecem suporte às operações MERGE, DELETE e UPDATE somente quando o vetor de exclusão está ativado.

Registros e depuração

  • O EMR Serverless restringe o acesso aos registros do Spark do driver do sistema em aplicativos Lake. Formation-enabled Como o driver do sistema é executado com permissões elevadas, os eventos e logs que o driver do sistema gera podem incluir informações confidenciais. Para evitar que usuários ou códigos não autorizados acessem esses dados confidenciais, o EMR Sem Servidor desabilita o acesso aos logs do driver do sistema.

  • Os logs do perfil do sistema são sempre mantidos no armazenamento gerenciado: essa é uma configuração obrigatória que não pode ser desabilitada. Esses registros são armazenados com segurança e criptografados usando uma chave KMS gerenciada pelo cliente ou uma chave KMS AWS gerenciada.

Iceberg

Analise as seguintes considerações ao usar o Apache Iceberg:

  • Você só pode usar o Apache Iceberg com o catálogo de sessões e não com catálogos nomeados arbitrariamente.

  • As tabelas do Iceberg registradas no Lake Formation oferecem suporte apenas às tabelas de metadados history, metadata_log_entries, snapshots, files, manifests e refs. O Amazon EMR oculta as colunas que podem conter dados confidenciais, como partitions, path e summaries. Essa limitação não se aplica às tabelas do Iceberg que não estão registradas no Lake Formation.

  • As tabelas não registradas no Lake Formation oferecem suporte a todos os procedimentos armazenados do Iceberg. Os procedimentos register_table e migrate não são compatíveis com nenhuma tabela.

  • Sugerimos que você use o Iceberg DataFrameWriterV2 em vez do V1.