Danau Delta dan Lake Formation - Amazon EMR

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Danau Delta dan Lake Formation

Amazon EMR merilis 6.15.0 dan yang lebih tinggi termasuk dukungan untuk kontrol akses berbutir halus berdasarkan Delta Lake saat Anda membaca dan menulis data AWS Lake Formation dengan Spark. SQL Amazon EMR mendukung tabel, baris, kolom, dan kontrol akses tingkat sel dengan Delta Lake. Dengan fitur ini, Anda dapat menjalankan kueri snapshot pada copy-on-write tabel untuk menanyakan snapshot terbaru dari tabel pada saat komit atau pemadatan tertentu.

Untuk menggunakan Delta Lake dengan Lake Formation, jalankan perintah berikut.

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

Jika Anda ingin Lake Formation menggunakan server rekaman untuk mengelola katalog Spark Anda, atur spark.sql.catalog.<managed_catalog_name>.lf.managed ke true.

Matriks dukungan berikut mencantumkan beberapa fitur inti Danau Delta dengan Lake Formation:

Salin di Tulis Gabung saat Dibaca

Kueri snapshot - Spark SQL

Kueri yang dioptimalkan baca - Spark SQL

Pertanyaan tambahan

Tidak didukung

Tidak didukung

Pertanyaan perjalanan waktu

Tidak didukung

Tidak didukung

Tabel metadata

DMLINSERTperintah

DDLperintah

Permintaan sumber data percikan

Sumber data Spark menulis

Membuat tabel Delta Lake di AWS Glue Data Catalog

Amazon EMR dengan Lake Formation tidak mendukung DDL perintah dan pembuatan tabel Delta. Ikuti langkah-langkah ini untuk membuat tabel di Katalog Data AWS Glue.

  1. Gunakan contoh berikut untuk membuat tabel Delta. Pastikan lokasi S3 Anda ada.

    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. Untuk melihat detail tabel Anda, buka https://console.aws.amazon.com/glue/.

  3. Di navigasi kiri, perluas Katalog Data, pilih Tabel, lalu pilih tabel yang Anda buat. Di bawah Skema, Anda akan melihat bahwa tabel Delta yang Anda buat dengan Spark menyimpan semua kolom dalam tipe data di Glue. array<string> AWS

  4. Untuk menentukan filter kolom dan tingkat sel di Lake Formation, hapus col kolom dari skema Anda, lalu tambahkan kolom yang ada di skema tabel Anda. Dalam contoh ini, tambahkan kolomx,y, danz.