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