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 |
✓ |
✓ |
DML |
✓ |
✓ |
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.
-
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'); Para ver os detalhes da sua mesa, acesse https://console.aws.amazon.com/glue/
. 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.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 colunasx
y
,z
e.