Delta Lake e Lake Formation - Amazon EMR

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Delta Lake e Lake Formation

Le EMR versioni 6.15.0 e successive di Amazon includono il supporto per il controllo granulare degli accessi basato su Delta Lake durante la lettura e la scrittura di dati AWS Lake Formation con Spark. SQL Amazon EMR supporta il controllo degli accessi a livello di tabella, riga, colonna e cella con Delta Lake. Con questa funzionalità, puoi eseguire query istantanee sulle copy-on-write tabelle per interrogare l'istantanea più recente della tabella in un determinato commit o istante di compattazione.

Per usare Delta Lake con Lake Formation, esegui il comando seguente.

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 desideri che Lake Formation utilizzi il server di registrazione per gestire il tuo catalogo Spark, imposta su spark.sql.catalog.<managed_catalog_name>.lf.managed true.

La seguente matrice di supporto elenca alcune funzioni principali di Delta Lake con Lake Formation:

Copia su scrittura unisci in lettura

Richieste istantanee - Spark SQL

Query ottimizzate per la lettura - Spark SQL

Query incrementali

Non supportato

Non supportato

Query temporali

Non supportato

Non supportato

Tabelle dei metadati

DMLINSERTcomandi

DDLcomandi

Query su origini dati Spark

Scritture di origini dati Spark

Creazione di una tabella Delta Lake in AWS Glue Data Catalog

Amazon EMR with Lake Formation non supporta DDL i comandi e la creazione di tabelle Delta. Segui questi passaggi per creare tabelle nel AWS Glue Data Catalog.

  1. Usa l'esempio seguente per creare una tabella Delta. Assicurati che la tua posizione S3 esista.

    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. Per vedere i dettagli della tua tabella, vai a https://console.aws.amazon.com/glue/.

  3. Nella barra di navigazione a sinistra, espandi Data Catalog, scegli Tabelle, quindi scegli la tabella che hai creato. In Schema, dovresti vedere che la tabella Delta che hai creato con Spark memorizza tutte le colonne in un tipo di dati di array<string> AWS Glue.

  4. Per definire filtri a livello di colonna e cella in Lake Formation, rimuovi la col colonna dallo schema, quindi aggiungi le colonne presenti nello schema della tabella. In questo esempio, aggiungi le colonne xy, e. z