Lago Delta e Lake Formation na Amazônia EMR - 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á.

Lago Delta e Lake Formation na Amazônia EMR

As EMR versões 6.15.0 e superiores da Amazon incluem suporte para controle de acesso refinado AWS Lake Formation com base no Delta Lake quando você lê e grava dados com o Spark. SQL A Amazon EMR oferece suporte ao controle de acesso em nível de tabela, linha, coluna e célula com o Delta Lake. Com esse recurso, você pode executar consultas de instantâneos em copy-on-write tabelas para consultar o instantâneo mais recente da tabela em um determinado instante de confirmação ou compactação.

Para usar o Delta Lake com o Lake Formation, execute o comando a seguir.

spark-sql \ --conf spark.sql.extensions=io.delta.sql.DeltaSparkSessionExtension,com.amazonaws.emr.recordserver.connector.spark.sql.RecordServerSQLExtension \ --conf spark.sql.catalog.spark_catalog=org.apache.spark.sql.delta.catalog.DeltaCatalog \ --conf spark.sql.catalog.spark_catalog.lf.managed=true

Se você quiser que o Lake Formation use o servidor de registros para gerenciar seu catálogo do Spark, spark.sql.catalog.<managed_catalog_name>.lf.managed defina como true.

A seguinte matriz de apoio lista alguns dos principais recursos do Delta Lake com o Lake Formation:

Copiar na gravação mesclar na leitura

Consultas de instantâneos - Spark SQL

Consultas otimizadas para leitura - Spark SQL

Consultas incrementais

Sem compatibilidade

Sem compatibilidade

Consultas de viagem no tempo

Sem compatibilidade

Sem compatibilidade

Tabelas de metadados

DMLINSERTcomandos

DDLcomandos

Consultas de fontes de dados do Spark

Gravações na fonte de dados do Spark

Criação de uma tabela Delta Lake no AWS Glue Data Catalog

O Amazon EMR with Lake Formation não suporta DDL comandos e criação de tabelas Delta. Siga estas etapas para criar tabelas no AWS Glue Data Catalog.

  1. Use o exemplo a seguir para criar uma tabela Delta. Certifique-se de que sua localização no S3 exista.

    spark-sql \ --conf "spark.sql.extensions=io.delta.sql.DeltaSparkSessionExtension" \ --conf "spark.sql.catalog.spark_catalog=org.apache.spark.sql.delta.catalog.DeltaCatalog" > CREATE DATABASE if not exists <DATABASE_NAME> LOCATION 's3://<S3_LOCATION>/transactionaldata/native-delta/<DATABASE_NAME>/'; > CREATE TABLE <TABLE_NAME> (x INT, y STRING, z STRING) USING delta; > INSERT INTO <TABLE_NAME> VALUES (1, 'a1', 'b1');
  2. Para ver os detalhes da sua mesa, acesse https://console.aws.amazon.com/glue/.

  3. No painel de navegação à esquerda, expanda Catálogo de Dados, escolha Tabelas e escolha a tabela que você criou. Em Esquema, você verá que a tabela Delta que você criou com o Spark armazena todas as colunas em um tipo de dados do array<string> AWS Glue.

  4. Para definir filtros em nível de coluna e célula no Lake Formation, remova a col coluna do seu esquema e, em seguida, adicione as colunas que estão no esquema da tabela. Neste exemplo, adicione as colunas xy, z e.