Delta Lake di SQL Server Kluster Big Data

Berlaku untuk: SQL Server 2019 (15.x)

Penting

Add-on Kluster Big Data Microsoft SQL Server 2019 akan dihentikan. Dukungan untuk Kluster Big Data SQL Server 2019 akan berakhir pada 28 Februari 2025. Semua pengguna SQL Server 2019 yang ada dengan Jaminan Perangkat Lunak akan didukung penuh pada platform dan perangkat lunak akan terus dipertahankan melalui pembaruan kumulatif SQL Server hingga saat itu. Untuk informasi selengkapnya, lihat posting blog pengumuman dan opsi Big data di platform Microsoft SQL Server.

Dalam panduan ini, Anda akan mempelajari:

  • Persyaratan dan kemampuan Delta Lake pada SQL Server Kluster Big Data.
  • Cara memuat pustaka Delta Lake pada kluster CU12 untuk digunakan dengan sesi dan pekerjaan Spark 2.4.

Pengantar

Linux Foundation Delta Lake adalah lapisan penyimpanan sumber terbuka yang membawa transaksi ACID (atomitas, konsistensi, isolasi, dan durabilitas) ke Apache Spark dan beban kerja big data. Untuk mempelajari selengkapnya tentang Delta Lake, lihat:

Delta Lake di SQL Server Kluster Big Data CU13 ke atas (Spark 3)

Delta Lake diinstal dan dikonfigurasi secara default pada SQL Server Kluster Big Data CU13 ke atas. Tidak perlu tindakan lebih lanjut.

Artikel ini membahas konfigurasi Delta Lake pada SQL Server Kluster Big Data CU12 ke bawah.

Mengonfigurasi Delta Lake pada SQL Server Kluster Big Data CU12 ke bawah (Spark 2.4)

Pada SQL Server Kluster Big Data CU12 atau di bawahnya, dimungkinkan untuk memuat pustaka Delta Lake menggunakan fitur manajemen pustaka Spark.

Catatan

Sebagai aturan umum, gunakan pustaka yang kompatibel terbaru. Kode dalam panduan ini diuji dengan menggunakan Delta Lake 0.6.1 pada SQL Server Kluster Big Data CU12. Delta Lake 0.6.1 kompatibel dengan Apache Spark 2.4.x, versi yang lebih baru tidak. Contoh disediakan apa adanya, bukan pernyataan dukungan.

Mengonfigurasi pustaka Delta Lake dan opsi konfigurasi Spark

Siapkan pustaka Delta Lake Anda dengan aplikasi Anda sebelum Anda mengirimkan pekerjaan. Pustaka berikut ini diperlukan:

Pustaka harus menargetkan Scala 2.11 dan Spark 2.4.7. Persyaratan SQL Server Kluster Big Data ini untuk SQL Server Pembaruan Kumulatif 9 (CU9) 2019 atau yang lebih baru.

Anda juga perlu mengonfigurasi Spark untuk mengaktifkan perintah Spark SQL khusus Delta Lake dan integrasi metastore. Contoh di bawah ini adalah bagaimana buku catatan Azure Data Studio akan mengonfigurasi dukungan Delta Lake:

%%configure -f \
{
    "conf": {
        "spark.jars.packages": "io.delta:delta-core_2.11:0.6.1",
        "spark.sql.extensions":"io.delta.sql.DeltaSparkSessionExtension",
        "spark.sql.catalog.spark_catalog":"org.apache.spark.sql.delta.catalog.DeltaCatalog"
    }
}

Berbagi lokasi pustaka untuk pekerjaan di HDFS

Jika beberapa aplikasi akan menggunakan pustaka Delta Lake, salin file JAR pustaka yang sesuai ke lokasi bersama di HDFS. Kemudian semua pekerjaan harus mereferensikan file pustaka yang sama.

Salin pustaka ke lokasi umum:

azdata bdc hdfs cp --from-path delta-core_2.11-0.6.1.jar --to-path "hdfs:/apps/jars/delta-core_2.11-0.6.1.jar"

Menginstal pustaka secara dinamis

Anda dapat menginstal paket secara dinamis saat mengirimkan pekerjaan dengan menggunakan fitur manajemen paket Kluster Big Data. Ada penalti waktu startup pekerjaan karena unduhan berulang file pustaka pada setiap pengiriman pekerjaan.

Kirim pekerjaan Spark dengan menggunakan azdata

Contoh berikut menggunakan file JAR pustaka bersama pada HDFS:

azdata bdc spark batch create -f hdfs:/apps/ETL-Pipelines/my-delta-lake-python-job.py \
-j '["/apps/jars/delta-core_2.11-0.6.1.jar"]' \
--config '{"spark.sql.extensions":"io.delta.sql.DeltaSparkSessionExtension","spark.sql.catalog.spark_catalog":"org.apache.spark.sql.delta.catalog.DeltaCatalog"}' \
-n MyETLPipelinePySpark --executor-count 2 --executor-cores 2 --executor-memory 1664m

Contoh ini menggunakan manajemen paket dinamis untuk menginstal dependensi:

azdata bdc spark batch create -f hdfs:/apps/ETL-Pipelines/my-delta-lake-python-job.py \
--config '{"spark.jars.packages":"io.delta:delta-core_2.11:0.6.1","spark.sql.extensions":"io.delta.sql.DeltaSparkSessionExtension","spark.sql.catalog.spark_catalog":"org.apache.spark.sql.delta.catalog.DeltaCatalog"' \
-n MyETLPipelinePySpark --executor-count 2 --executor-cores 2 --executor-memory 1664m

Langkah berikutnya

Untuk mempelajari cara menggunakan Delta Lake secara efektif, lihat artikel berikut ini.

Untuk mengirimkan pekerjaan Spark ke SQL Server Kluster Big Data dengan menggunakan azdata atau titik akhir Livy, lihat Mengirimkan pekerjaan Spark dengan menggunakan alat baris perintah.

Untuk informasi selengkapnya tentang SQL Server Kluster Big Data dan skenario terkait, lihat Memperkenalkan SQL Server Kluster Big Data.