Mengubah data menggunakan aktivitas Spark di Azure Data Factory dan Azure Synapse Analytics
BERLAKU UNTUK:Azure Data Factory Azure Synapse Analytics
Tip
Cobalah Data Factory di Microsoft Fabric, solusi analitik all-in-one untuk perusahaan. Microsoft Fabric mencakup semuanya mulai dari pergerakan data hingga ilmu data, analitik real time, kecerdasan bisnis, dan pelaporan. Pelajari cara memulai uji coba baru secara gratis!
Aktivitas Spark di pabrik data dan alur Synapse menjalankan program Spark di kluster HDInsight Anda sendiri atau sesuai permintaan. Artikel ini membangun artikel aktivitas transformasi data, yang menyajikan gambaran umum tentang transformasi data dan aktivitas transformasi yang didukung. Ketika Anda menggunakan layanan terkait Spark sesuai permintaan, layanan secara otomatis membuat kluster Spark untuk Anda tepat waktu untuk memproses data lalu menghapus kluster setelah pemrosesan selesai.
Menambahkan aktivitas Spark ke alur dengan UI
Untuk menggunakan aktivitas Spark ke alur, selesaikan langkah-langkah berikut:
Cari Spark di panel Aktivitas alur, dan seret aktivitas Spark ke kanvas alur.
Pilih aktivitas Spark baru di kanvas jika belum dipilih.
Pilih tab Kluster HDI untuk memilih atau membuat layanan tertaut baru ke kluster HDInsight yang akan digunakan untuk menjalankan aktivitas Spark.
Pilih tab Script / Jar untuk memilih atau membuat layanan tertaut pekerjaan baru ke akun Azure Storage yang akan menghosting skrip Anda. Tentukan jalur ke file yang akan dieksekusi di sana. Anda juga dapat mengonfigurasi detail tingkat lanjut termasuk pengguna proksi, konfigurasi debug, dan argumen serta parameter konfigurasi Spark yang akan diteruskan ke skrip.
Properti aktivitas Spark
Berikut adalah sampel definisi JSON dengan Aktivitas Spark:
{
"name": "Spark Activity",
"description": "Description",
"type": "HDInsightSpark",
"linkedServiceName": {
"referenceName": "MyHDInsightLinkedService",
"type": "LinkedServiceReference"
},
"typeProperties": {
"sparkJobLinkedService": {
"referenceName": "MyAzureStorageLinkedService",
"type": "LinkedServiceReference"
},
"rootPath": "adfspark",
"entryFilePath": "test.py",
"sparkConfig": {
"ConfigItem1": "Value"
},
"getDebugInfo": "Failure",
"arguments": [
"SampleHadoopJobArgument1"
]
}
}
Tabel berikut menjelaskan properti JSON yang digunakan dalam definisi JSON:
Properti | Deskripsi | Wajib |
---|---|---|
nama | Nama aktivitas di dalam alur. | Ya |
description | Teks yang menjelaskan apa yang dilakukan aktivitas. | Tidak |
jenis | Untuk Spark Activity, jenis aktivitasnya adalah HDInsightSpark. | Ya |
linkedServiceName | Nama Layanan Tertaut HDInsight Spark tempat program Spark berjalan. Untuk mempelajari layanan tertaut ini, lihat artikel Layanan tertaut komputasi. | Ya |
SparkJobLinkedService | Layanan tertaut Microsoft Azure Storage yang menyimpan file pekerjaan, dependensi, dan log Spark. Hanya layanan tertaut Azure Blob Storage dan ADLS Gen2 yang didukung di sini. Jika Anda tidak menentukan nilai untuk properti ini, penyimpanan yang terkait dengan kluster HDInsight digunakan. Nilai properti ini hanya dapat menjadi layanan tertaut Azure Storage. | Tidak |
rootPath | Kontainer dan folder Azure Blob yang berisi file Spark. Nama file peka huruf besar/kecil. Lihat bagian struktur folder (bagian berikutnya) untuk detail tentang struktur folder ini. | Ya |
entryFilePath | Jalur relatif ke folder akar dari kode/paket Spark. File entri harus berupa file Python atau file .jar. | Ya |
className | Kelas utama Java/Spark aplikasi | Tidak |
arguments | Daftar argumen baris perintah ke program Spark. | Tidak |
proxyUser | Akun pengguna untuk menyamar untuk menjalankan program Spark | Tidak |
sparkConfig | Tentukan nilai untuk properti konfigurasi Spark yang tercantum dalam topik: Konfigurasi Spark - Properti aplikasi. | Tidak |
getDebugInfo | Menentukan kapan file log Spark disalin ke penyimpanan Azure yang digunakan oleh kluster HDInsight (atau) ditentukan oleh sparkJobLinkedService. Nilai yang diizinkan: None, Always, atau Failure. Nilai default: None. | Tidak |
Struktur folder
Pekerjaan Spark juga lebih luas daripada pekerjaan Pig/Apache Hive. Untuk pekerjaan Spark, Anda dapat menyediakan beberapa dependensi seperti paket jar (ditempatkan di Java CLASSPATH), file Python (ditempatkan di PYTHONPATH), dan file lainnya.
Buat struktur folder berikut dalam penyimpanan Azure Blob yang direferensikan oleh layanan tertaut HDInsight. Kemudian, unggah file dependen ke subfolder yang sesuai di folder akar yang diwakili oleh entryFilePath. Misalnya, unggah file Python ke subfolder pyFiles dan file jar ke subfolder jar pada folder akar. Pada runtime, layanan mengharapkan struktur folder berikut dalam penyimpanan Azure Blob:
Jalur | Deskripsi | Wajib | Tipe |
---|---|---|---|
. (akar) |
Jalur akar pekerjaan Spark di layanan penyimpanan yang ditautkan | Ya | Folder |
<pengguna didefinisikan > | Jalur yang menunjuk ke file entri pekerjaan Spark | Ya | File |
./jars | Semua file di bagian folder ini diunggah dan ditempatkan di classpath Java dari kluster | Tidak | Folder |
./pyFiles | Semua file di bawah folder ini diunggah dan ditempatkan pada PYTHONPATH kluster | Tidak | Folder |
./file | Semua file di bawah folder ini diunggah dan ditempatkan pada direktori kerja pelaksana | Tidak | Folder |
./arsip | Semua file di bawah folder ini tidak dipadatkan | Tidak | Folder |
./logs | Folder yang berisi log dari kluster Spark. | Tidak | Folder |
Berikut adalah contoh untuk penyimpanan yang berisi dua file pekerjaan Spark dalam Azure Blob Storage yang dirujuk oleh layanan tertaut HDInsight.
SparkJob1
main.jar
files
input1.txt
input2.txt
jars
package1.jar
package2.jar
logs
archives
pyFiles
SparkJob2
main.py
pyFiles
scrip1.py
script2.py
logs
archives
jars
files
Konten terkait
Lihat artikel berikut yang menjelaskan cara mentransformasikan data dengan cara lain: