Bagikan melalui


Mentransformasikan data dengan menjalankan buku catatan Synapse

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 Azure Synapse notebook dalam alur Synapse menjalankan Synapse notebook di ruang kerja Azure Synapse Anda. Artikel ini membangun artikel aktivitas transformasi data, yang menyajikan gambaran umum tentang transformasi data dan aktivitas transformasi yang didukung. 

Membuat aktivitas Synapse notebook

Anda dapat membuat aktivitas Synapse notebook langsung dari kanvas alur Synapse atau dari editor notebook. Aktivitas Synapse notebook berjalan di kumpulan Spark yang dipilih di Synapse notebook.

Menambahkan aktivitas Synapse notebook dari alur kanvas

Seret dan lepas Synapse notebook di bawah Aktivitas ke kanvas alur Synapse. Pilih pada kotak aktivitas Synapse notebook dan konfigurasikan konten notebook untuk aktivitas saat ini di pengaturan. Anda dapat memilih notebook yang sudah ada dari ruang kerja saat ini atau menambahkan yang baru.

Jika Anda memilih buku catatan yang sudah ada dari ruang kerja saat ini, Anda bisa mengklik tombol Buka untuk langsung membuka halaman buku catatan.

(Opsional) Anda juga dapat mengonfigurasi ulang Spark pool\Executor size\Dynamically allocate executors\Min executors\Max executors\Driver size in settings. Perlu dicatat bahwa pengaturan yang dikonfigurasi ulang di sini akan menggantikan pengaturan sesi konfigurasi di Notebook. Jika tidak ada yang diatur dalam pengaturan aktivitas notebook saat ini, pengaturan tersebut akan berjalan dengan pengaturan sesi konfigurasi di notebook tersebut.

cuplikan layar-menampilkan-membuat-notebook-aktivitas

Properti Deskripsi Wajib diisi
Kumpulan Spark Referensi ke kumpulan Spark. Anda dapat memilih kumpulan Apache Spark dari daftar. Jika pengaturan ini kosong, pengaturan ini akan berjalan di kumpulan spark dari notebook itu sendiri. No
Ukuran Pelaksana Jumlah inti dan memori yang akan digunakan untuk eksekutor yang dialokasikan di kumpulan Spark yang ditentukan untuk sesi. No
Mengalokasikan pelaksana secara dinamis Pengaturan ini memetakan ke properti alokasi dinamis dalam konfigurasi Spark untuk alokasi pelaksana Aplikasi Spark. No
Eksekutor minimum Jumlah minimum eksekutor yang akan dialokasikan dalam kumpulan Spark yang ditentukan untuk pekerjaan tersebut. No
Eksekutor maksimum Jumlah maksimum eksekutor yang akan dialokasikan dalam kumpulan Spark yang ditentukan untuk pekerjaan tersebut. No
Ukuran driver Jumlah inti dan memori yang akan digunakan untuk driver yang diberikan dalam kumpulan Apache Spark yang ditentukan untuk pekerjaan tersebut. No

Catatan

Eksekusi paralel Spark Notebooks di alur Azure Synapse diantrekan dan dieksekusi secara FIFO, urutan pekerjaan dalam antrean sesuai dengan urutan waktu, waktu kedaluwarsa pekerjaan dalam antrean adalah 3 hari, harap perhatikan bahwa antrean untuk notebook hanya bekerja di alur synapse.

Menambahkan notebook ke alur Synapse

Pilih tombol Tambahkan ke alur di sudut kanan atas untuk menambahkan notebook ke saluran yang sudah ada atau membuat saluran baru.

cuplikan layar-menampilkan-tambahkan-notebook-ke-alur

Parameter Passing

Menetapkan sel parameter

Untuk menetapkan parameter notebook Anda, pilih elipsis (...) untuk mengakses perintah lainnya di toolbar sel. Lalu pilih Alihkan sel parameter untuk menetapkan sel sebagai sel parameter.

cuplikan layar-menampilkan-azure-notebook-mengalihkan-parameter

Azure Data Factory mencari sel parameter dan menggunakan nilai sebagai default untuk parameter yang diteruskan pada waktu eksekusi. Mesin eksekusi akan menambahkan sel baru di bawah sel parameter dengan parameter input untuk menimpa nilai default.

Menetapkan nilai parameter dari alur

Setelah membuat notebook dengan parameter, Anda dapat menjalankannya dari alur dengan aktivitas Synapse notebook. Setelah Anda menambahkan aktivitas ke kanvas alur, Anda akan dapat mengatur nilai parameter di bagianParameter dasar pada tab Pengaturan.

cuplikan layar-menampilkan-menetapkan-parameter

Saat menetapkan nilai parameter, Anda dapat menggunakan bahasa pemrograman ekspresi alur atau variabel sistem.

Baca Nilai output sel Synapse notebook

Anda dapat membaca nilai output sel notebook pada aktivitas selanjutnya dengan mengikuti langkah-langkah di bawah ini:

  1. Hubungi mssparkutils.notebook.exit API dalam aktivitas Synapse notebook Anda untuk mengembalikan nilai yang ingin Anda tampilkan dalam output aktivitas, misalnya:

    mssparkutils.notebook.exit("hello world") 
    

    Menyimpan konten notebook dan mencoba kembali alur, output aktivitas notebook akan berisi exitValue yang dapat dikonsumsi untuk kegiatan berikut di langkah 2.

  2. Baca properti exitValue dari output aktivitas notebook. Berikut adalah contoh ekspresi yang digunakan untuk memeriksa apakah exitValue yang diambil dari output aktivitas notebook sama dengan "halo dunia":

    cuplikan layar-menampilkan-membaca-keluar-nilai

Menjalankan Synapse notebook yang lain

Anda dapat mereferensikan notebook lain dalam aktivitas Synapse notebook dengan memanggil %run magic atau utilitas notebook mssparkutils. Keduanya mendukung panggilan fungsi berlapis. Perbedaan utama dari kedua metode ini yang harus Anda pertimbangkan berdasarkan skenario Anda adalah:

  • %run magic menyalin semua sel dari notebook yang direferensikan ke %run cell dan membagi konteks variabel. Saat notebook1 mereferensikan notebook2 melalui %run notebook2 dan notebook2 memanggil fungsi mssparkutils.notebook.exit, eksekusi sel di notebook1 akan dihentikan. Sebaiknya gunakan %run magic saat Anda ingin "menyertakan" file notebook.
  • Utilitas notebook mssparkutisl memanggil notebook yang direferensikan sebagai metode atau fungsi. Konteks variabel tidak dibagikan. Saat notebook1 mereferensikan notebook2 melalui mssparkutils.notebook.run("notebook2") dan notebook2 memanggil fungsi mssparkutils.notebook.exit, eksekusi sel di notebook1 akan dilanjutkan. Sebaiknya gunakan utilitas notebook mssparkutils saat Anda ingin "mengimpor" notebook.

Melihat riwayat menjalankan aktivitas notebook

Buka Alur berjalan di bawah tab Monitor, Anda akan melihat alur yang telah dipicu. Buka alur yang berisi aktivitas notebook untuk melihat riwayat eksekusi alur.

Anda dapat melihat rekam jepret perjalanan notebook terbaru termasuk input dan output sel dengan memilih tombol buka notebook.

Cuplikan layar yang menunjukkan riwayat aktivitas notebook.

Buka snapshot notebook:

Cuplikan layar yang menunjukkan snapshot notebook yang terbuka.

Anda dapat melihat input atau output aktivitas notebook dengan memilih tombol input atau Output. Jika saluran pipa Anda gagal dengan kesalahan pengguna, pilih output untuk memeriksa bidang hasil guna melihat penelusuran kembali kesalahan pengguna yang terperinci.

Cuplikan layar yang memperlihatkan pengguna tentang detail kesalahan.

Definisi aktivitas Synapse notebook

Berikut adalah contoh definisi JSON dari aktivitas Synapse notebook:

{
    "name": "parameter_test",
    "type": "SynapseNotebook",
    "dependsOn": [],
    "policy": {
        "timeout": "7.00:00:00",
        "retry": 0,
        "retryIntervalInSeconds": 30,
        "secureOutput": false,
        "secureInput": false
    },
    "userProperties": [],
    "typeProperties": {
        "notebook": {
            "referenceName": "parameter_test",
            "type": "NotebookReference"
        },
        "parameters": {
            "input": {
                "value": {
                    "value": "@pipeline().parameters.input",
                    "type": "Expression"
                }
            }
        }
    }
}

Output aktivitas Synapse notebook

Berikut adalah contoh JSON dari aktivitas Synapse notebook:

{
{
    "status": {
        "Status": 1,
        "Output": {
            "status": <livySessionInfo>
            },
            "result": {
                "runId": "<GUID>",
                "runStatus": "Succeed",
                "message": "Notebook execution is in Succeeded state",
                "lastCheckedOn": "2021-03-23T00:40:10.6033333Z",
                "errors": {
                    "ename": "",
                    "evalue": ""
                },
                "sessionId": 4,
                "sparkpool": "sparkpool",
                "snapshotUrl": "https://myworkspace.dev.azuresynapse.net/notebooksnapshot/{guid}",
                "exitCode": "abc" // return value from user notebook via mssparkutils.notebook.exit("abc")
            }
        },
        "Error": null,
        "ExecutionDetails": {}
    },

    "effectiveIntegrationRuntime": "DefaultIntegrationRuntime (West US 2)",
    "executionDuration": 234,
    "durationInQueue": {
        "integrationRuntimeQueue": 0
    },
    "billingReference": {
        "activityType": "ExternalActivity",
        "billableDuration": [
            {
                "meterType": "AzureIR",
                "duration": 0.06666666666666667,
                "unit": "Hours"
            }
        ]
    }
}

Masalah umum

Jika nama buku catatan diparmetris dalam aktivitas Buku Catatan Alur, maka versi buku catatan dalam status tidak diterbitkan tidak dapat direferensikan dalam eksekusi debug.