Bagikan melalui


Alur dan aktivitas 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!

Penting

Dukungan untuk Azure Pembelajaran Mesin Studio (klasik) akan berakhir pada 31 Agustus 2024. Kami menyarankan agar Anda beralih ke Azure Pembelajaran Mesin pada tanggal tersebut.

Mulai 1 Desember 2021, Anda tidak dapat membuat sumber daya Pembelajaran Mesin Studio (klasik) baru (ruang kerja dan paket layanan web). Hingga 31 Agustus 2024, Anda dapat terus menggunakan eksperimen dan layanan web Pembelajaran Mesin Studio (klasik) yang ada. Untuk informasi selengkapnya, lihat:

dokumentasi Pembelajaran Mesin Studio (klasik) sedang dihentikan dan mungkin tidak diperbarui di masa mendatang.

Artikel ini membantu Anda memahami alur dan aktivitas di Azure Data Factory dan Azure Synapse Analytics serta menggunakannya untuk menyusun alur kerja berbasis data menyeluruh untuk pergerakan data dan skenario pemrosesan data Anda.

Gambaran Umum

Data Factory atau Synapse Workspace dapat memiliki satu alur atau lebih. Alur adalah pengelompokan aktivitas logis yang bersama-sama melakukan tugas. Misalnya, alur dapat berisi kumpulan aktivitas yang menyerap dan membersihkan data log, lalu memulai aliran data pemetaan untuk menganalisis data log. Alur memungkinkan Anda mengelola aktivitas sebagai satu kumpulan, bukan masing-masing secara individual. Anda menyebarkan dan menjadwalkan alur alih-alih aktivitas secara mandiri.

Aktivitas dalam alur menentukan tindakan yang harus dilakukan pada data Anda. Misalnya, Anda dapat menggunakan aktivitas salin untuk menyalin data dari SQL Server ke Azure Blob Storage. Kemudian, gunakan aktivitas aliran data atau aktivitas Databricks Notebook untuk memproses dan mengubah data dari penyimpanan blob ke kumpulan Azure Synapse Analytics di atas solusi pelaporan kecerdasan bisnis yang dibangun.

Azure Data Factory dan Azure Synapse Analytics memiliki tiga pengelompokan aktivitas: aktivitas pergerakan data, aktivitas transformasi data, dan aktivitas kontrol. Suatu aktivitas dapat mengambil nol atau lebih himpunan data input dan menghasilkan satu atau lebih himpunan data output. Diagram berikut ini menunjukkan hubungan antara alur, aktivitas, dan himpunan data:

Hubungan antara himpunan data, aktivitas, dan alur

Himpunan data input merepresentasikan input untuk aktivitas di alur, dan himpunan data output merepresentasikan output untuk aktivitas tersebut. Himpunan data mengidentifikasi data dalam penyimpanan data yang berbeda, seperti tabel, file, folder, dan dokumen. Setelah membuat himpunan data, Anda dapat menggunakannya dengan aktivitas dalam alur. Misalnya, himpunan data dapat berupa himpunan data input/output dari Aktivitas Penyalinan atau Aktivitas HDInsightHive. Untuk informasi selengkapnya tentang himpunan data, lihat artikel Himpunan data di Azure Data Factory.

Catatan

Ada batas lunak default dari maksimum 80 aktivitas per alur, yang mencakup aktivitas dalam untuk kontainer.

Aktivitas pergerakan data

Salin Aktivitas di Pabrik Data menyalin data dari penyimpanan data sumber ke penyimpanan data wastafel. Data Factory mendukung penyimpanan data yang tercantum dalam tabel di bagian ini. Data dari sumber mana pun dapat ditulis ke sink mana pun.

Untuk informasi selengkapnya, lihat artikel Aktivitas Penyalinan - Gambaran Umum.

Pilih penyimpanan data untuk mempelajari cara menyalin data ke dan dari penyimpanan tersebut.

Kategori Penyimpanan data Didukung sebagai sumber Didukung sebagai sink Didukung oleh Azure IR Didukung oleh IR yang dihost sendiri
Azure Azure Blob Storage
  Indeks Pencarian Azure AI
  Azure Cosmos DB for NoSQL
  Azure Cosmos DB untuk MongoDB
  Azure Data Explorer
  Azure Data Lake Storage Gen1
  Azure Data Lake Storage Gen2
  Azure Database untuk MariaDB
  Azure Database untuk MySQL
  Azure Database untuk PostgreSQL
  Azure Databricks Delta Lake
  Azure Files
  Azure SQL Database
  Instans Terkelola Azure SQL
  Azure Synapse Analytics
  Azure Table Storage
Database Amazon RDS untuk Oracle
  Amazon RDS untuk SQL Server
  Amazon Redshift
  DB2
  Drill
  Google BigQuery
  Greenplum
  HBase
  Hive
  Apache Impala
  Informix
  MariaDB
  Microsoft Access
  MySQL
  Netezza
  Oracle
  PHOENIX
  PostgreSQL
  Presto
  SAP Business Warehouse melalui Open Hub
  SAP Business Warehouse melalui MDX
  SAP HANA Sink hanya didukung dengan Konektor ODBC dan driver SAP Hana ODBC
  Tabel SAP
  Snowflake
  Spark
  SQL Server
  Sybase
  Teradata
  Vertica
NoSQL Cassandra
  Couchbase (Pratinjau)
  MongoDB
  MongoDB Atlas
File Amazon S3
  Penyimpanan yang Kompatibel dengan Amazon S3
  Sistem file
  FTP
  Penyimpanan Cloud Google
  HDFS
  Penyimpanan Cloud Oracle
  SFTP
Protokol generik HTTP Generik
  OData Generik
  Konektivitas Database Terbuka Generik
  REST Umum
Layanan dan aplikasi Amazon Marketplace Web Service (Tidak Digunakan Lagi)
  Concur (Pratinjau)
  Dataverse
  Dynamics 365
  Dynamics AX
  Dynamics CRM
  Google AdWords
  HubSpot
  Jira
  Magento (Pratinjau)
  Marketo (Pratinjau)
  Microsoft 365
  Oracle Eloqua (Pratinjau)
  Oracle Responsys (Pratinjau)
  Oracle Service Cloud (Pratinjau)
  PayPal (Pratinjau)
  QuickBooks (Pratinjau)
  Salesforce
  Cloud Layanan Salesforce
  Cloud Pemasaran Tenaga Penjualan
  SAP Cloud untuk Pelanggan (C4C)
  SAP ECC
  ServiceNow
Daftar Online SharePoint
  Shopify (Pratinjau)
  Square (Pratinjau)
  Tabel web (tabel HTML)
  Xero
  Zoho (Pratinjau)

Catatan

Jika konektor ditandai sebagai Pratinjau, Anda dapat mencobanya dan memberi kami umpan balik. Jika Anda ingin bergantung pada konektor pratinjau dalam solusi Anda, hubungi dukungan Azure.

Aktivitas transformasi data

Azure Data Factory dan Azure Synapse Analytics mendukung aktivitas transformasi berikut yang dapat ditambahkan baik secara individual atau dirangkai dengan aktivitas lain.

Untuk informasi selengkapnya, lihat artikel aktivitas transformasi data.

Aktivitas transformasi data Lingkungan komputasi
Aliran Data Kluster Apache Spark yang dikelola oleh Azure Data Factory
Fungsi Azure Azure Functions
Hive HDInsight [Hadoop]
Babi HDInsight [Hadoop]
MapReduce HDInsight [Hadoop]
Hadoop Streaming HDInsight [Hadoop]
Spark HDInsight [Hadoop]
ML Studio (classic) activities: Batch Execution dan Update Resource Azure VM
Prosedur Tersimpan Azure SQL, Azure Synapse Analytics, atau SQL Server
U-SQL Azure Data Lake Analytics
Aktivitas Kustom Azure Batch
Buku Catatan Databricks Azure Databricks
Aktivitas Databricks Jar Azure Databricks
Aktivitas Databricks Python Azure Databricks
Aktivitas Synapse Notebook Azure Synapse Analytics

Aktivitas alur kontrol

Aktivitas alur kontrol berikut didukung:

Aktivitas kontrol Deskripsi
Tambahkan Variabel Menambahkan nilai ke variabel array yang sudah ada.
Jalankan Alur Aktivitas Jalankan Alur memungkinkan alur Data Factory atau Synapse untuk memanggil alur lain.
Filter Menerapkan ekspresi filter ke array input
Untuk Masing-masing Aktivitas ForEach menentukan alur kontrol berulang di alur Anda. Aktivitas ini digunakan untuk mengulangi koleksi dan menjalankan aktivitas tertentu dalam perulangan. Implementasi perulangan dari aktivitas ini mirip dengan struktur perulangan Foreach dalam bahasa pemrograman.
Dapatkan Metadata Aktivitas GetMetadata dapat digunakan untuk mengambil metadata data apa pun di alur Data Factory atau Synapse.
Aktivitas Kondisi Jika Kondisi Jika dapat digunakan untuk melakukan percabangan berdasarkan kondisi yang bernilai true atau false. Aktivitas If Condition menyediakan fungsionalitas yang sama dengan yang diberikan oleh pernyataan if dalam bahasa pemrogram. Aktivitas ini mengevaluasi kumpulan aktivitas saat kondisi tersebut mengevaluasi ke true dan satu kumpulan aktivitas lain saat kondisi mengevaluasi ke false.
Aktivitas Pencarian Aktivitas Pencarian dapat digunakan untuk membaca atau mencari rekaman/nama tabel/nilai dari sumber eksternal apa pun. Output ini selanjutnya dapat dirujuk sebagai aktivitas yang berhasil.
Atur Variabel Mengatur nilai variabel yang ada.
Aktivitas Hingga Mengimplementasikan perulangan Lakukan-Hingga yang mirip dengan struktur perulangan Lakukan-Hingga dalam bahasa komputer. Ini menjalankan kumpulan aktivitas dalam perulangan hingga kondisi yang terkait dengan aktivitas tersebut bernilai true. Anda dapat menentukan nilai batas waktu untuk aktivitas hingga.
Aktivitas Validasi Pastikan alur hanya melanjutkan eksekusi jika ada himpunan data referensi, memenuhi kriteria yang ditentukan, atau batas waktu telah tercapai.
Aktivitas Tunggu Saat Anda menggunakan aktivitas Tunggu di alur, alur menunggu waktu yang ditentukan sebelum melanjutkan dengan eksekusi aktivitas berikutnya.
Aktivitas Web Aktivitas Web dapat digunakan untuk memanggil titik akhir REST kustom dari alur. Anda dapat meneruskan himpunan data dan layanan tertaut untuk dipakai dan diakses oleh aktivitas.
Aktivitas Webhook Menggunakan aktivitas webhook, memanggil titik akhir, dan meneruskan URL panggilan balik. Eksekusi alur menunggu panggilan balik digunakan sebelum melanjutkan ke aktivitas berikutnya.

Membuat alur dengan antarmuka pengguna

Untuk membuat alur baru, navigasikan ke tab Pembuat di Studio Data Factory (ditunjukkan dengan ikon pensil), lalu klik tanda plus dan pilih Alur dari menu, dan Alur lagi dari submenu.

Memperlihatkan langkah-langkah untuk membuat alur baru menggunakan Azure Data Factory Studio.

Pabrik data akan menampilkan penyunting alur tempat Anda dapat menemukan:

  1. Semua aktivitas yang dapat digunakan di dalam alur.
  2. Kanvas penyunting alur, tempat aktivitas akan muncul saat ditambahkan ke alur.
  3. Panel konfigurasi alur, termasuk parameter, variabel, pengaturan umum, dan output.
  4. Panel properti alur, tempat nama alur, deskripsi opsional, dan anotasi dapat dikonfigurasi. Panel ini juga akan menampilkan item terkait ke alur di dalam pabrik data.

Memperlihatkan panel editor alur di studio Azure Data Factory dengan setiap bagian yang dijelaskan di atas disorot.

JSON Alur

Berikut adalah bagaimana alur didefinisikan dalam format JSON:

{
    "name": "PipelineName",
    "properties":
    {
        "description": "pipeline description",
        "activities":
        [
        ],
        "parameters": {
        },
        "concurrency": <your max pipeline concurrency>,
        "annotations": [
        ]
    }
}
Tag Deskripsi Jenis Wajib
nama Nama alur. Tentukan nama yang mewakili tindakan yang dilakukan alur.
  • Jumlah karakter maksimum: 140
  • Harus dimulai dengan huruf, angka, atau garis bawah (_)
  • Karakter berikut tidak diperbolehkan: ".", "+", "?", "/", "<",">,"*"," %"," &",":"," "
String Ya
description Tentukan teks yang menjelaskan untuk apa alur tersebut digunakan. String No
aktivitas Bagian aktivitas dapat memiliki satu atau beberapa aktivitas yang ditentukan di dalamnya. Lihat bagian JSON Aktivitas untuk detail tentang aktivitas elemen JSON. Array Ya
parameter Bagian parameter dapat memiliki satu atau beberapa parameter yang ditentukan dalam alur, membuat alur Anda fleksibel untuk digunakan kembali. List No
konkurensi Jumlah maksimum menjalankan bersamaan yang dapat dimiliki alur. Secara default, tidak ada jumlah maksimum. Jika batas konkurensi tercapai, eksekusi alur tambahan akan diantrekan hingga yang sebelumnya selesai Number No
anotasi Daftar tag yang terkait dengan alur Array No

JSON Aktivitas

Bagian aktivitas dapat memiliki satu atau beberapa aktivitas yang ditentukan di dalamnya. Ada dua jenis aktivitas utama: Aktivitas Eksekusi dan Kontrol.

Aktivitas eksekusi

Aktivitas eksekusi meliputi aktivitas pergerakan data dan transformasi data. Aktivitas tersebut memiliki struktur tingkat atas berikut:

{
    "name": "Execution Activity Name",
    "description": "description",
    "type": "<ActivityType>",
    "typeProperties":
    {
    },
    "linkedServiceName": "MyLinkedService",
    "policy":
    {
    },
    "dependsOn":
    {
    }
}

Tabel berikut ini menjelaskan properti dalam aktivitas definisi JSON:

Tag Deskripsi Wajib
nama Nama aktivitas. Tentukan nama yang mewakili tindakan yang dilakukan aktivitas.
  • Jumlah karakter maksimum: 55
  • Harus dimulai dengan huruf-angka, atau garis bawah (_)
  • Karakter berikut tidak diperbolehkan: ".", "+", "?", "/", "<",">,"*"," %"," &",":"," "
Ya
description Teks yang menjelaskan aktivitas atau kegunaannya Ya
jenis Jenis aktivitas. Lihat bagian Aktivitas Pergerakan Data, Aktivitas Transformasi Data, dan Aktivitas Kontrol untuk berbagai jenis aktivitas. Ya
linkedServiceName Nama layanan tertaut yang digunakan oleh aktivitas.

Aktivitas mungkin mengharuskan Anda menentukan layanan tertaut yang ditautkan ke lingkungan komputasi yang diperlukan.
Ya untuk HDInsight Activity, ML Studio (classic) Batch Scoring Activity, Stored Procedure Activity.

Tidak untuk yang lainnya
typeProperties Properti di bagian typeProperties bergantung pada setiap jenis aktivitas. Untuk melihat jenis properti untuk aktivitas, klik tautan ke aktivitas di bagian sebelumnya. No
kebijakan Kebijakan yang memengaruhi perilaku run-time aktivitas. Properti ini mencakup perilaku batas waktu dan coba lagi. Jika tidak ditentukan, nilai default akan digunakan. Untuk informasi selengkapnya, lihat bagian Kebijakan aktivitas. No
dependsOn Properti ini digunakan untuk menentukan dependensi aktivitas, dan bagaimana aktivitas berikutnya bergantung pada aktivitas sebelumnya. Untuk informasi selengkapnya, lihat Dependensi aktivitas No

Kebijakan aktivitas

Kebijakan memengaruhi perilaku run-time aktivitas, memberikan opsi konfigurasi. Kebijakan Aktivitas hanya tersedia untuk aktivitas eksekusi.

Definisi JSON kebijakan aktivitas

{
    "name": "MyPipelineName",
    "properties": {
      "activities": [
        {
          "name": "MyCopyBlobtoSqlActivity",
          "type": "Copy",
          "typeProperties": {
            ...
          },
         "policy": {
            "timeout": "00:10:00",
            "retry": 1,
            "retryIntervalInSeconds": 60,
            "secureOutput": true
         }
        }
      ],
        "parameters": {
           ...
        }
    }
}
Nama JSON Deskripsi Nilai yang diizinkan Wajib
waktu habis Menentukan batas waktu untuk menjalankan aktivitas. Rentang waktu Tidak. Batas waktu default adalah 12 jam, minimal 10 menit.
coba lagi Upaya coba lagi maksimum Bilangan bulat Tidak. Defaultnya adalah 0
retryIntervalInSeconds Penundaan antara upaya coba lagi dalam hitungan detik Bilangan bulat Tidak. Defaultnya adalah 30 detik
secureOutput Bila diatur ke true, output dari aktivitas dianggap aman dan tidak dicatat untuk pemantauan. Boolean Tidak. Defaultnya adalah false.

Aktivitas kontrol

Aktivitas kontrol memiliki struktur tingkat atas berikut:

{
    "name": "Control Activity Name",
    "description": "description",
    "type": "<ActivityType>",
    "typeProperties":
    {
    },
    "dependsOn":
    {
    }
}
Tag Deskripsi Wajib
nama Nama aktivitas. Tentukan nama yang mewakili tindakan yang dilakukan aktivitas.
  • Jumlah karakter maksimum: 55
  • Harus dimulai dengan nomor huruf, atau garis bawah (_)
  • Karakter berikut tidak diperbolehkan: ".", "+", "?", "/", "<",">,"*"," %"," &",":"," "
Ya
    description Teks yang menjelaskan aktivitas atau kegunaannya Ya
    jenis Jenis aktivitas. Lihat bagian aktivitas pergerakan data, aktivitas transformasi data, dan aktivitas kontrol untuk berbagai jenis aktivitas. Ya
    typeProperties Properti di bagian typeProperties bergantung pada setiap jenis aktivitas. Untuk melihat jenis properti untuk aktivitas, klik tautan ke aktivitas di bagian sebelumnya. No
    dependsOn Properti ini digunakan untuk menentukan Dependensi Aktivitas, dan bagaimana aktivitas berikutnya bergantung pada aktivitas sebelumnya. Untuk informasi selengkapnya, lihat dependensi aktivitas. No

    Dependensi aktivitas

    Dependensi Aktivitas menentukan bagaimana aktivitas berikutnya bergantung pada aktivitas sebelumnya, menentukan kondisi apakah akan melanjutkan pelaksanaan tugas berikutnya. Aktivitas dapat bergantung pada satu atau beberapa aktivitas sebelumnya dengan kondisi dependensi yang berbeda.

    Kondisi dependensi yang berbeda adalah: Berhasil, Gagal, Dilompati, Selesai.

    Misalnya, jika alur memiliki Aktivitas A -> Aktivitas B, skenario berbeda yang dapat terjadi adalah:

    • Aktivitas B memiliki kondisi dependensi pada Aktivitas A dengan berhasil: Aktivitas B hanya berjalan jika Aktivitas A memiliki status akhir berhasil
    • Aktivitas B memiliki kondisi dependensi pada Aktivitas A dengan gagal: Aktivitas B hanya berjalan jika Aktivitas A memiliki status akhir gagal
    • Aktivitas B memiliki kondisi dependensi pada Aktivitas A dengan selesai: Aktivitas B berjalan jika Aktivitas A memiliki status akhir berhasil atau gagal
    • Aktivitas B memiliki kondisi dependensi pada Aktivitas A dengan dilompati: Aktivitas B berjalan jika Aktivitas A memiliki status akhir dilompati. Dilewati terjadi dalam skenario Aktivitas X -> Aktivitas Y -> Aktivitas Z, saat setiap aktivitas hanya berjalan jika aktivitas sebelumnya berhasil. Jika Aktivitas X gagal, Activity Y memiliki status "Dilompati" karena tidak pernah dijalankan. Demikian pula, Activity Z juga berstatus "Dilompati".

    Contoh: Aktivitas 2 tergantung pada Aktivitas 1 yang berhasil

    {
        "name": "PipelineName",
        "properties":
        {
            "description": "pipeline description",
            "activities": [
             {
                "name": "MyFirstActivity",
                "type": "Copy",
                "typeProperties": {
                },
                "linkedServiceName": {
                }
            },
            {
                "name": "MySecondActivity",
                "type": "Copy",
                "typeProperties": {
                },
                "linkedServiceName": {
                },
                "dependsOn": [
                {
                    "activity": "MyFirstActivity",
                    "dependencyConditions": [
                        "Succeeded"
                    ]
                }
              ]
            }
          ],
          "parameters": {
           }
        }
    }
    
    

    Contoh alur salin

    Dalam contoh alur berikut, ada satu aktivitas jenis Copy di bagian aktivitas. Dalam contoh ini, aktivitas penyalinan menyalin data dari penyimpanan Azure Blob ke database di Azure SQL Database.

    {
      "name": "CopyPipeline",
      "properties": {
        "description": "Copy data from a blob to Azure SQL table",
        "activities": [
          {
            "name": "CopyFromBlobToSQL",
            "type": "Copy",
            "inputs": [
              {
                "name": "InputDataset"
              }
            ],
            "outputs": [
              {
                "name": "OutputDataset"
              }
            ],
            "typeProperties": {
              "source": {
                "type": "BlobSource"
              },
              "sink": {
                "type": "SqlSink",
                "writeBatchSize": 10000,
                "writeBatchTimeout": "60:00:00"
              }
            },
            "policy": {
              "retry": 2,
              "timeout": "01:00:00"
            }
          }
        ]
      }
    }
    

    Perhatikan poin berikut:

    • Di bagian aktivitas, hanya ada satu aktivitas yang jenisnya diatur ke Salin.
    • Input untuk aktivitas diatur ke InputDataset dan output untuk aktivitas diatur ke OutputDataset. Lihat artikel himpunan data untuk menentukan himpunan data di JSON.
    • Di bagian typeProperties, BlobSource ditentukan sebagai tipe sumber dan SqlSink ditentukan sebagai tipe wastafel. Di bagian Aktivitas pergerakan data, klik penyimpanan data yang ingin Anda gunakan sebagai sumber atau sink untuk mempelajari lebih lanjut tentang memindahkan data ke/dari penyimpanan data tersebut.

    Untuk panduan lengkap membuat alur ini, lihat Mulai Cepat: membuat Data Factory.

    Contoh alur transformasi

    Pada contoh alur berikut, ada satu aktivitas jenis HDInsightHive di bagian kegiatan. Dalam contoh ini, aktivitas HDInsight Apache Hive mengubah data dari penyimpanan Azure Blob dengan menjalankan file skrip Apache Hive di kluster Azure HDInsight Hadoop.

    {
        "name": "TransformPipeline",
        "properties": {
            "description": "My first Azure Data Factory pipeline",
            "activities": [
                {
                    "type": "HDInsightHive",
                    "typeProperties": {
                        "scriptPath": "adfgetstarted/script/partitionweblogs.hql",
                        "scriptLinkedService": "AzureStorageLinkedService",
                        "defines": {
                            "inputtable": "wasb://adfgetstarted@<storageaccountname>.blob.core.windows.net/inputdata",
                            "partitionedtable": "wasb://adfgetstarted@<storageaccountname>.blob.core.windows.net/partitioneddata"
                        }
                    },
                    "inputs": [
                        {
                            "name": "AzureBlobInput"
                        }
                    ],
                    "outputs": [
                        {
                            "name": "AzureBlobOutput"
                        }
                    ],
                    "policy": {
                        "retry": 3
                    },
                    "name": "RunSampleHiveActivity",
                    "linkedServiceName": "HDInsightOnDemandLinkedService"
                }
            ]
        }
    }
    

    Perhatikan poin berikut:

    • Di bagian aktivitas, hanya ada satu aktivitas yang jenisnya diatur ke HDInsightHive.
    • File skrip Apache Hive, partitionweblogs.hql, disimpan di akun Azure Storage (ditentukan oleh scriptLinkedService, yang disebut AzureStorageLinkedService), dan dalam folder skrip dalam kontainer adfgetstarted.
    • Bagian defines ini digunakan untuk menentukan pengaturan runtime yang diteruskan ke skrip hive sebagai nilai konfigurasi Apache Hive (misalnya, ${hiveconf:inputtable}, ${hiveconf:partitionedtable}).

    Bagian typeProperties berbeda untuk setiap aktivitas transformasi. Untuk mempelajari tentang jenis properti yang didukung untuk aktivitas transformasi, klik aktivitas transformasi dalam Aktivitas transformasi data.

    Untuk panduan lengkap membuat alur ini, lihat Tutorial: mengubah data menggunakan Spark.

    Beberapa aktivitas dalam alur

    Dua alur sampel sebelumnya hanya memiliki satu aktivitas di dalamnya. Anda dapat memiliki lebih dari satu aktivitas dalam alur. Jika Anda memiliki beberapa aktivitas dalam alur dan aktivitas berikutnya tidak bergantung pada aktivitas sebelumnya, aktivitas mungkin berjalan secara paralel.

    Anda dapat menghubungkan dua aktivitas menggunakan dependensi aktivitas, yang menentukan bagaimana aktivitas selanjutnya bergantung pada aktivitas sebelumnya, yang menentukan kondisi apakah akan melanjutkan eksekusi tugas berikutnya. Aktivitas dapat bergantung pada satu atau beberapa aktivitas sebelumnya dengan kondisi dependensi yang berbeda.

    Menjadwalkan alur

    Alur dijadwalkan oleh pemicu. Ada berbagai jenis pemicu (pemicu Microsoft Azure Scheduler, yang memungkinkan alur dipicu pada jadwal jam dinding, serta pemicu manual, yang memicu alur sesuai permintaan). Untuk informasi selengkapnya tentang pemicu, lihat artikel pemicu dan eksekusi alur.

    Agar pemicu Anda memulai eksekusi alur, Anda harus menyertakan referensi alur dari alur tertentu dalam definisi pemicu. Alur & pemicu memiliki hubungan n-m. Beberapa pemicu dapat memulai satu alur, dan pemicu yang sama dapat memulai beberapa alur. Setelah pemicu ditentukan, Anda harus memulai pemicu agar pemicu mulai memicu alur. Untuk informasi selengkapnya tentang pemicu, lihat artikel pemicu dan eksekusi alur.

    Misalnya, Anda memiliki pemicu Penjadwal, "Pemicu A", yang ingin saya mulai dari alur saya, "MyCopyPipeline." Anda menentukan pemicu, seperti yang ditunjukkan dalam contoh berikut:

    Definisi Pemicu A

    {
      "name": "TriggerA",
      "properties": {
        "type": "ScheduleTrigger",
        "typeProperties": {
          ...
          }
        },
        "pipeline": {
          "pipelineReference": {
            "type": "PipelineReference",
            "referenceName": "MyCopyPipeline"
          },
          "parameters": {
            "copySourceName": "FileSource"
          }
        }
      }
    }