

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

# Menggunakan EMR Tanpa Server dengan AWS Lake Formation kontrol akses berbutir halus
<a name="emr-serverless-lf-enable"></a>

## Ikhtisar
<a name="emr-serverless-lf-enable-overview"></a>

Dengan Amazon EMR merilis 7.2.0 dan yang lebih tinggi, manfaatkan AWS Lake Formation untuk menerapkan kontrol akses berbutir halus pada tabel Katalog Data yang didukung oleh S3. Kemampuan ini memungkinkan Anda mengonfigurasi kontrol akses tingkat tabel, baris, kolom, dan sel untuk read kueri dalam pekerjaan Spark Tanpa Server EMR Amazon Anda. Untuk mengonfigurasi kontrol akses berbutir halus untuk pekerjaan batch Apache Spark dan sesi interaktif, gunakan EMR Studio. Lihat bagian berikut untuk mempelajari lebih lanjut tentang Lake Formation dan cara menggunakannya dengan EMR Tanpa Server.

Menggunakan Amazon EMR Tanpa Server dengan AWS Lake Formation dikenakan biaya tambahan. Untuk informasi lebih lanjut, lihat [harga Amazon EMR](https://aws.amazon.com/emr/pricing/).

## Bagaimana EMR Serverless bekerja dengan AWS Lake Formation
<a name="emr-serverless-lf-enable-how-it-works"></a>

Menggunakan EMR Tanpa Server dengan Lake Formation memungkinkan Anda menerapkan lapisan izin pada setiap pekerjaan Spark untuk menerapkan kontrol izin Lake Formation saat EMR Tanpa Server mengeksekusi pekerjaan. EMR Tanpa Server menggunakan [profil sumber daya Spark untuk membuat dua profil](https://spark.apache.org/docs/latest/api/java/org/apache/spark/resource/ResourceProfile.html) untuk melaksanakan pekerjaan secara efektif. Profil pengguna mengeksekusi kode yang disediakan pengguna, sementara profil sistem memberlakukan kebijakan Lake Formation. Untuk informasi lebih lanjut, lihat [Apa itu AWS Lake Formation](https://docs.aws.amazon.com/lake-formation/latest/dg/what-is-lake-formation.html) dan [Pertimbangan dan batasan](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/emr-serverless-lf-enable-considerations.html).

Saat Anda menggunakan kapasitas pra-inisialisasi dengan Lake Formation, kami sarankan Anda memiliki minimal dua driver Spark. Setiap pekerjaan yang mendukung Lake Formation menggunakan dua driver Spark, satu untuk profil pengguna dan satu untuk profil sistem. Untuk kinerja terbaik, gunakan dua kali lipat jumlah driver untuk pekerjaan yang mendukung Lake Formation dibandingkan jika Anda tidak menggunakan Lake Formation.

Saat Anda menjalankan pekerjaan Spark di EMR Tanpa Server, pertimbangkan juga dampak alokasi dinamis pada manajemen sumber daya dan kinerja klaster. Konfigurasi `spark.dynamicAllocation.maxExecutors` jumlah maksimum pelaksana per profil sumber daya berlaku untuk pengguna dan pelaksana sistem. Jika Anda mengonfigurasi angka tersebut agar sama dengan jumlah maksimum pelaksana yang diizinkan, pekerjaan Anda mungkin macet karena satu jenis pelaksana yang menggunakan semua sumber daya yang tersedia, yang mencegah pelaksana lain saat Anda menjalankan pekerjaan.

Jadi Anda tidak kehabisan sumber daya, EMR Serverless menetapkan jumlah maksimum default pelaksana per profil sumber daya menjadi 90% dari nilai. `spark.dynamicAllocation.maxExecutors` Anda dapat mengganti konfigurasi ini ketika Anda menentukan `spark.dynamicAllocation.maxExecutorsRatio` dengan nilai antara 0 dan 1. Selain itu, konfigurasikan juga properti berikut untuk mengoptimalkan alokasi sumber daya dan kinerja keseluruhan:
+ `spark.dynamicAllocation.cachedExecutorIdleTimeout`
+ `spark.dynamicAllocation.shuffleTracking.timeout`
+ `spark.cleaner.periodicGC.interval`

Berikut ini adalah ikhtisar tingkat tinggi tentang bagaimana EMR Tanpa Server mendapatkan akses ke data yang dilindungi oleh kebijakan keamanan Lake Formation.

![Bagaimana Amazon EMR mengakses data yang dilindungi oleh kebijakan keamanan Lake Formation.](http://docs.aws.amazon.com/id_id/emr/latest/EMR-Serverless-UserGuide/images/lf-emr-s-architecture.png)


1. Seorang pengguna mengirimkan pekerjaan Spark ke aplikasi EMR Tanpa AWS Lake Formation Server yang diaktifkan. 

1. EMR Tanpa Server mengirimkan pekerjaan ke driver pengguna dan menjalankan pekerjaan di profil pengguna. Driver pengguna menjalankan versi lean Spark yang tidak memiliki kemampuan untuk meluncurkan tugas, meminta pelaksana, mengakses S3 atau Glue Catalog. Ini membangun rencana kerja.

1. EMR Serverless menyiapkan driver kedua yang disebut driver sistem dan menjalankannya di profil sistem (dengan identitas istimewa). EMR Tanpa Server menyiapkan saluran TLS terenkripsi antara dua driver untuk komunikasi. Driver pengguna menggunakan saluran untuk mengirim rencana pekerjaan ke driver sistem. Driver sistem tidak menjalankan kode yang dikirimkan pengguna. Ini menjalankan Spark penuh dan berkomunikasi dengan S3, dan Katalog Data untuk akses data. Ini meminta pelaksana dan mengkompilasi Job Plan ke dalam urutan tahapan eksekusi. 

1. EMR Serverless kemudian menjalankan tahapan pada pelaksana dengan driver pengguna atau driver sistem. Kode pengguna dalam tahap apa pun dijalankan secara eksklusif pada pelaksana profil pengguna.

1. Tahapan yang membaca data dari tabel Katalog Data yang dilindungi oleh AWS Lake Formation atau yang menerapkan filter keamanan didelegasikan ke pelaksana sistem.

## Mengaktifkan Lake Formation di Amazon EMR
<a name="emr-serverless-lf-enable-config"></a>

Untuk mengaktifkan Lake Formation, atur `spark.emr-serverless.lakeformation.enabled` ke `true` bawah `spark-defaults` klasifikasi untuk parameter konfigurasi runtime saat [membuat aplikasi EMR Tanpa Server](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/getting-started.html#gs-application-console).

```
aws emr-serverless create-application \
    --release-label emr-7.13.0 \
    --runtime-configuration '{
     "classification": "spark-defaults", 
     "properties": {
      "spark.emr-serverless.lakeformation.enabled": "true"
      }
    }' \
    --type "SPARK"
```

Anda juga dapat mengaktifkan Lake Formation ketika Anda membuat aplikasi baru di EMR Studio. **Pilih **Gunakan Lake Formation untuk kontrol akses berbutir halus**, tersedia di bawah Konfigurasi tambahan.**

[Enkripsi antar pekerja](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/interworker-encryption.html) diaktifkan secara default saat Anda menggunakan Lake Formation dengan EMR Tanpa Server, jadi Anda tidak perlu mengaktifkan enkripsi antar-pekerja secara eksplisit lagi.

**Mengaktifkan Lake Formation untuk pekerjaan Spark**

Untuk mengaktifkan Lake Formation untuk pekerjaan Spark individual, setel `spark.emr-serverless.lakeformation.enabled` ke true saat menggunakan`spark-submit`.

```
--conf spark.emr-serverless.lakeformation.enabled=true
```

## Izin IAM peran runtime pekerjaan
<a name="emr-serverless-lf-enable-permissions"></a>

Izin Lake Formation mengontrol akses ke sumber daya Katalog Data AWS Glue, lokasi Amazon S3, dan data dasar di lokasi tersebut. Izin IAM mengontrol akses ke Lake Formation dan AWS Glue APIs dan sumber daya. Meskipun Anda mungkin memiliki izin Lake Formation untuk mengakses tabel di Katalog Data (SELECT), operasi Anda gagal jika Anda tidak memiliki izin IAM pada operasi `glue:Get*` API. 

Berikut ini adalah contoh kebijakan tentang cara memberikan izin IAM untuk mengakses skrip di S3, mengunggah log ke S3, izin AWS Glue API, dan izin untuk mengakses Lake Formation.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "ScriptAccess",
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:ListBucket"
      ],
      "Resource": [
        "arn:aws:s3:::*.amzn-s3-demo-bucket/scripts",
        "arn:aws:s3:::*.amzn-s3-demo-bucket/*"
      ]
    },
    {
      "Sid": "LoggingAccess",
      "Effect": "Allow",
      "Action": [
        "s3:PutObject"
      ],
      "Resource": [
        "arn:aws:s3:::amzn-s3-demo-bucket/logs/*"
      ]
    },
    {
      "Sid": "GlueCatalogAccess",
      "Effect": "Allow",
      "Action": [
        "glue:Get*",
        "glue:Create*",
        "glue:Update*"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Sid": "LakeFormationAccess",
      "Effect": "Allow",
      "Action": [
        "lakeformation:GetDataAccess"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```

------

## Menyiapkan izin Lake Formation untuk peran runtime pekerjaan
<a name="emr-serverless-lf-enable-set-up-grants-for-role"></a>

Pertama, daftarkan lokasi meja Hive Anda dengan Lake Formation. Kemudian buat izin untuk peran runtime pekerjaan Anda di tabel yang Anda inginkan. Untuk detail lebih lanjut tentang Lake Formation, lihat [Apa itu AWS Lake Formation?](https://docs.aws.amazon.com/lake-formation/latest/dg/what-is-lake-formation.html) di *Panduan AWS Lake Formation Pengembang*.

Setelah Anda mengatur izin Lake Formation, kirimkan pekerjaan Spark di Amazon EMR Tanpa Server. Untuk informasi lebih lanjut tentang pekerjaan Spark, lihat contoh [Spark](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/jobs-spark.html#spark-examples).

## Mengirimkan pekerjaan
<a name="emr-serverless-lf-enable-submit-job"></a>

Setelah Anda selesai menyiapkan hibah Lake Formation, Anda dapat [mengirimkan pekerjaan Spark di EMR](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/jobs-spark.html#spark-examples) Tanpa Server. Bagian berikut menunjukkan contoh cara mengkonfigurasi dan mengirimkan properti job run.

## Persyaratan izin
<a name="emr-serverless-lf-enable-otf-permissions"></a>

### Tabel tidak terdaftar di AWS Lake Formation
<a name="emr-s-lf-otf-permissions"></a>

Untuk tabel yang tidak terdaftar AWS Lake Formation, peran runtime pekerjaan mengakses Katalog Data AWS Glue dan data tabel yang mendasarinya di Amazon S3. Ini mengharuskan peran runtime pekerjaan memiliki izin IAM yang sesuai untuk operasi AWS Glue dan Amazon S3. 

### Tabel terdaftar di AWS Lake Formation
<a name="emr-s-lf-otf-permissions-tables-lf-registered"></a>

Untuk tabel yang terdaftar AWS Lake Formation, peran runtime pekerjaan mengakses metadata Katalog Data AWS Glue, sementara kredensil sementara yang dijual oleh Lake Formation mengakses data tabel yang mendasarinya di Amazon S3. Izin Lake Formation yang diperlukan untuk menjalankan operasi bergantung pada panggilan AWS Glue Data Catalog dan Amazon S3 API yang memulai tugas Spark dan dapat diringkas sebagai berikut:
+ Izin **DESCRIBE** memungkinkan peran runtime untuk membaca tabel atau metadata database dalam Katalog Data
+ Izin **ALTER** memungkinkan peran runtime untuk memodifikasi tabel atau metadata database dalam Katalog Data
+ Izin **DROP** memungkinkan peran runtime untuk menghapus tabel atau metadata database dari Katalog Data
+ Izin **SELECT** memungkinkan peran runtime membaca data tabel dari Amazon S3
+ **Izin INSERT** memungkinkan peran runtime untuk menulis data tabel ke Amazon S3
+ Izin **DELETE** memungkinkan peran runtime untuk menghapus data tabel dari Amazon S3
**catatan**  
Lake Formation mengevaluasi izin dengan malas saat pekerjaan Spark memanggil AWS Glue untuk mengambil metadata tabel dan Amazon S3 untuk mengambil data tabel. Pekerjaan yang menggunakan peran runtime dengan izin yang tidak mencukupi tidak akan gagal sampai Spark melakukan panggilan AWS Glue atau Amazon S3 yang memerlukan izin yang hilang.

**catatan**  
Dalam matriks tabel yang didukung berikut:   
Operasi yang ditandai sebagai **Didukung** secara eksklusif menggunakan kredensil Lake Formation untuk mengakses data tabel untuk tabel yang terdaftar dengan Lake Formation. Jika izin Lake Formation tidak mencukupi, operasi tidak akan kembali ke kredensyal peran runtime. Untuk tabel yang tidak terdaftar di Lake Formation, kredensyal peran runtime pekerjaan mengakses data tabel.
Operasi yang ditandai sebagai **Didukung dengan izin IAM di lokasi Amazon S3** tidak menggunakan kredensil Lake Formation untuk mengakses data tabel yang mendasarinya di Amazon S3. Untuk menjalankan operasi ini, peran runtime pekerjaan harus memiliki izin Amazon S3 IAM yang diperlukan untuk mengakses data tabel, terlepas dari apakah tabel terdaftar di Lake Formation.

------
#### [ Hive ]


| Operasi | AWS Lake Formation izin | Status Support | 
| --- | --- | --- | 
| SELECT | SELECT | Didukung | 
| CREATE TABLE | CREATE\_TABLE | Didukung | 
| BUAT TABEL SEPERTI | CREATE\_TABLE | Didukung dengan izin IAM di lokasi Amazon S3 | 
| BUAT TABEL SEBAGAI PILIH | CREATE\_TABLE | Didukung dengan izin IAM di lokasi Amazon S3 | 
| MENGGAMBARKAN TABEL | MENJELASKAN | Didukung | 
| TBLPROPERTIES | MENJELASKAN | Didukung | 
| TAMPILKAN KOLOM | MENJELASKAN | Didukung | 
| TAMPILKAN PARTISI | MENJELASKAN | Didukung | 
| TAMPILKAN TABEL BUAT | MENJELASKAN | Didukung | 
| UBAH TABEL tablename | PILIH dan UBAH | Didukung | 
| UBAH LOKASI tablename SET TABEL | - | Tidak didukung | 
| UBAH TABEL tablename TAMBAHKAN PARTISI | PILIH, INSERT dan ALTER | Didukung | 
| MEJA PERBAIKAN | PILIH dan UBAH | Didukung | 
| MEMUAT DATA |  | Tidak didukung | 
| INSERT | INSERT dan ALTER | Didukung | 
| SISIPKAN TIMPA | PILIH, MASUKKAN, HAPUS dan UBAH | Didukung | 
| MEJA DROP | SELECT, DROP, DELETE dan ALTER | Didukung | 
| MEMOTONG TABEL | PILIH, MASUKKAN, HAPUS dan UBAH | Didukung | 
| Penulis Rangka Data V1 | Sama seperti operasi SQL yang sesuai | Didukung saat menambahkan data ke tabel yang ada. Lihat [pertimbangan dan batasan untuk informasi](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/emr-serverless-lf-enable-considerations.html) lebih lanjut | 
| Penulis Rangka Data V2 | Sama seperti operasi SQL yang sesuai | Didukung saat menambahkan data ke tabel yang ada. Lihat [pertimbangan dan batasan untuk informasi](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/emr-serverless-lf-enable-considerations.html) lebih lanjut | 

------
#### [ Iceberg ]


| Operasi | AWS Lake Formation izin | Status Support | 
| --- | --- | --- | 
| SELECT | SELECT | Didukung | 
| CREATE TABLE | CREATE\_TABLE | Didukung | 
| BUAT TABEL SEPERTI | CREATE\_TABLE | Didukung dengan izin IAM di lokasi Amazon S3 | 
| BUAT TABEL SEBAGAI PILIH | CREATE\_TABLE | Didukung dengan izin IAM di lokasi Amazon S3 | 
| GANTI TABEL SEBAGAI PILIH | PILIH, INSERT dan ALTER | Didukung | 
| MENGGAMBARKAN TABEL | MENJELASKAN | Didukung dengan izin IAM di lokasi Amazon S3 | 
| TBLPROPERTIES | MENJELASKAN | Didukung dengan izin IAM di lokasi Amazon S3 | 
| TAMPILKAN TABEL BUAT | MENJELASKAN | Didukung dengan izin IAM di lokasi Amazon S3 | 
| ALTER TABLE | PILIH, INSERT dan ALTER | Didukung  | 
| MENGUBAH LOKASI SET TABEL | PILIH, INSERT dan ALTER | Didukung dengan izin IAM di lokasi Amazon S3 | 
| MENGUBAH TABEL TULIS DIURUTKAN OLEH | PILIH, INSERT dan ALTER | Didukung dengan izin IAM di lokasi Amazon S3 | 
| MENGUBAH TABEL TULIS DIDISTRIBUSIKAN OLEH | PILIH, INSERT, dan ALTER | Didukung dengan izin IAM di lokasi Amazon S3 | 
| UBAH TABEL GANTI NAMA TABEL | CREATE\_TABLE, dan DROP | Didukung | 
| MASUKKAN KE | PILIH, INSERT dan ALTER | Didukung | 
| SISIPKAN TIMPA | PILIH, INSERT dan ALTER | Didukung | 
| DELETE | PILIH, INSERT dan ALTER | Didukung | 
| UPDATE | PILIH, INSERT dan ALTER | Didukung | 
| BERGABUNG MENJADI | PILIH, INSERT dan ALTER | Didukung | 
| MEJA DROP | PILIH, HAPUS, dan JATUHKAN | Didukung | 
| DataFrame Penulis V1 | - | Tidak didukung | 
| DataFrame Penulis V2 | Sama seperti operasi SQL yang sesuai | Didukung saat menambahkan data ke tabel yang ada. Lihat [pertimbangan dan batasan](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/emr-serverless-lf-enable-considerations.html) untuk informasi lebih lanjut. | 
| Tabel metadata | SELECT | Didukung. Tabel tertentu disembunyikan. Lihat [pertimbangan dan batasan](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/emr-serverless-lf-enable-considerations.html) untuk informasi lebih lanjut. | 
| Prosedur tersimpan | - | Didukung untuk tabel yang memenuhi ketentuan berikut:[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/emr/latest/EMR-Serverless-UserGuide/emr-serverless-lf-enable.html) | 

**Konfigurasi Spark untuk Iceberg:** Contoh berikut menunjukkan cara mengkonfigurasi Spark dengan Iceberg. Untuk menjalankan pekerjaan Iceberg, sediakan properti berikut`spark-submit`.

```
--conf spark.sql.catalog.spark_catalog=org.apache.iceberg.spark.SparkSessionCatalog
--conf spark.sql.catalog.spark_catalog.warehouse=<{{S3_DATA_LOCATION}}>
--conf spark.sql.catalog.spark_catalog.glue.account-id=<{{ACCOUNT_ID}}>
--conf spark.sql.catalog.spark_catalog.client.region=<{{REGION}}>
--conf spark.sql.catalog.spark_catalog.glue.endpoint=https://glue.<{{REGION}}>.amazonaws.com
```

------
#### [ Hudi ]


| Operasi | AWS Lake Formation izin | Status Support | 
| --- | --- | --- | 
| SELECT | SELECT | Didukung | 
| CREATE TABLE | CREATE\_TABLE | Didukung dengan izin IAM di lokasi Amazon S3 | 
| BUAT TABEL SEPERTI | CREATE\_TABLE | Didukung dengan izin IAM di lokasi Amazon S3 | 
| BUAT TABEL SEBAGAI PILIH | - | Tidak didukung | 
| MENGGAMBARKAN TABEL | MENJELASKAN | Didukung dengan izin IAM di lokasi Amazon S3 | 
| TBLPROPERTIES | MENJELASKAN | Didukung dengan izin IAM di lokasi Amazon S3 | 
| TAMPILKAN KOLOM | MENJELASKAN | Didukung dengan izin IAM di lokasi Amazon S3 | 
| TAMPILKAN TABEL BUAT | MENJELASKAN | Didukung dengan izin IAM di lokasi Amazon S3 | 
| ALTER TABLE | SELECT | Didukung dengan izin IAM di lokasi Amazon S3 | 
| MASUKKAN KE | PILIH dan UBAH | Didukung dengan izin IAM di lokasi Amazon S3 | 
| SISIPKAN TIMPA | PILIH dan UBAH | Didukung dengan izin IAM di lokasi Amazon S3 | 
| DELETE | - | Tidak didukung | 
| UPDATE | - | Tidak didukung | 
| BERGABUNG MENJADI | - | Tidak didukung | 
| MEJA DROP | PILIH dan DROP | Didukung dengan izin IAM di lokasi Amazon S3 | 
| DataFrame Penulis V1 | - | Tidak didukung | 
| DataFrame Penulis V2 | Sama seperti operasi SQL yang sesuai | Didukung dengan izin IAM di lokasi Amazon S3 | 
| Tabel metadata | - | Tidak didukung | 
| Pemeliharaan meja dan fitur utilitas | - | Tidak didukung | 

Sampel berikut mengkonfigurasi Spark dengan Hudi, menentukan lokasi file dan properti lain yang diperlukan untuk digunakan.

**Konfigurasi percikan untuk Hudi:** Cuplikan ini saat digunakan di notebook menentukan jalur ke file JAR bundel Hudi Spark, yang memungkinkan fungsionalitas Hudi di Spark. Ini juga mengkonfigurasi Spark untuk menggunakan AWS Glue Data Catalog sebagai metastore.

```
%%configure -f
{
    "conf": {
        "spark.jars": "/usr/lib/hudi/hudi-spark-bundle.jar",
        "spark.hadoop.hive.metastore.client.factory.class": "com.amazonaws.glue.catalog.metastore.AWSGlueDataCatalogHiveClientFactory",
        "spark.serializer": "org.apache.spark.serializer.JavaSerializer",
        "spark.sql.catalog.spark_catalog": "org.apache.spark.sql.hudi.catalog.HoodieCatalog",
        "spark.sql.extensions": "org.apache.spark.sql.hudi.HoodieSparkSessionExtension"
    }
}
```

**Konfigurasi percikan untuk Hudi dengan AWS Glue:** Cuplikan ini saat digunakan di notebook memungkinkan Hudi sebagai format data-lake yang didukung dan memastikan bahwa pustaka dan dependensi Hudi tersedia.

```
%%configure
{
    "--conf": "spark.serializer=org.apache.spark.serializer.JavaSerializer --conf 
spark.sql.catalog.spark_catalog=org.apache.spark.sql.hudi.catalog.HoodieCatalog --conf 
spark.sql.extensions=org.apache.spark.sql.hudi.HoodieSparkSessionExtension",
    "--datalake-formats": "hudi",
    "--enable-glue-datacatalog": True,
    "--enable-lakeformation-fine-grained-access": "true"
}
```

------
#### [ Delta Lake ]


| Operasi | AWS Lake Formation izin | Status Support | 
| --- | --- | --- | 
| SELECT | SELECT | Didukung | 
| CREATE TABLE | CREATE\_TABLE | Didukung | 
| BUAT TABEL SEPERTI | - | Tidak didukung | 
| BUAT TABEL SEBAGAI PILIH | CREATE\_TABLE | Didukung  | 
| GANTI TABEL SEBAGAI PILIH | PILIH, INSERT dan ALTER | Didukung | 
| MENGGAMBARKAN TABEL | MENJELASKAN | Didukung dengan izin IAM di lokasi Amazon S3 | 
| TBLPROPERTIES | MENJELASKAN | Didukung dengan izin IAM di lokasi Amazon S3 | 
| TAMPILKAN KOLOM | MENJELASKAN | Didukung dengan izin IAM di lokasi Amazon S3 | 
| TAMPILKAN TABEL BUAT | MENJELASKAN | Didukung dengan izin IAM di lokasi Amazon S3 | 
| ALTER TABLE | PILIH dan INSERT  | Didukung  | 
| MENGUBAH LOKASI SET TABEL | PILIH dan INSERT  | Didukung dengan izin IAM di lokasi Amazon S3 | 
| UBAH tablename KLASTER TABEL DENGAN | PILIH dan INSERT | Didukung dengan izin IAM di lokasi Amazon S3 | 
| UBAH TABEL tablename TAMBAHKAN KENDALA | PILIH dan INSERT | Didukung dengan izin IAM di lokasi Amazon S3 | 
| UBAH KENDALA tablename DROP TABEL | PILIH dan INSERT | Didukung dengan izin IAM di lokasi Amazon S3 | 
| MASUKKAN KE | PILIH dan INSERT | Didukung | 
| SISIPKAN TIMPA | PILIH dan INSERT | Didukung | 
| DELETE | PILIH dan INSERT | Didukung | 
| UPDATE | PILIH dan INSERT | Didukung | 
| BERGABUNG MENJADI | PILIH dan INSERT | Didukung | 
| MEJA DROP | PILIH, HAPUS, dan JATUHKAN | Didukung | 
| DataFrame Penulis V1 | - | Tidak didukung | 
| DataFrame Penulis V2 | Sama seperti operasi SQL yang sesuai | Didukung  | 
| Pemeliharaan meja dan fitur utilitas | - | Tidak didukung | 

**EMR Tanpa Server dengan Delta Lake: Untuk menggunakan Delta Lake** dengan Lake Formation di EMR Tanpa Server, 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 \
```

------