Alur dan aktivitas di Azure Data Factory dan Azure Synapse Analytics

Azure Data Factory Azure Synapse Analytics

Petunjuk / Saran

Data Factory di Microsoft Fabric adalah generasi Azure Data Factory berikutnya, dengan arsitektur yang lebih sederhana, AI bawaan, dan fitur baru. Jika Anda baru menggunakan integrasi data, mulailah dengan Fabric Data Factory. Beban kerja ADF yang ada dapat ditingkatkan ke Fabric untuk mengakses kemampuan baru di seluruh ilmu data, analitik real time, dan pelaporan.

Penting

Dukungan untuk Azure Studio Pembelajaran Mesin (klasik) akan berakhir pada 31 Agustus 2024. Sebaiknya Anda beralih ke Azure Machine Learning pada tanggal tersebut.

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

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

Artikel ini membantu Anda memahami alur dan aktivitas dalam Azure Data Factory dan Azure Synapse Analytics dan menggunakannya untuk membangun alur kerja berbasis data end-to-end untuk skenario pergerakan data dan 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 yang digunakan untuk membangun solusi pelaporan kecerdasan bisnis.

Azure Data Factory dan Azure Synapse Analytics memiliki tiga pengelompokan aktivitas: aktivitas gerakan 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 Datasets di Azure Data Factory.

Catatan

Ada batas lunak default maksimum 120 aktivitas per penjaluran, yang mencakup aktivitas internal untuk kontainer.

Aktivitas pergerakan data

Aktivitas Menyalin di Data Factory menyalin data dari penyimpanan data sumber ke penyimpanan data tujuan. 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 data tersebut.

Kategori Penyimpanan data Didukung sebagai sumber Didukung sebagai penampung Didukung oleh Azure IR Didukung oleh IR yang dihost sendiri
Azure Penyimpanan Azure Blob
  Indeks Pencarian Azure AI
  Azure Cosmos DB untuk NoSQL
  Azure Cosmos DB untuk MongoDB
  Azure Data Explorer
  Azure Data Lake Storage Gen1
  Azure Data Lake Storage Gen2
  Azure Database for MariaDB
  Azure Database for MySQL
  Azure Database for PostgreSQL
  Azure Databricks Delta Lake
  Azure Files
  Azure SQL Database
  Azure SQL Managed Instance
  Azure Synapse Analytics
  Azure Table Storage
Basis data Amazon RDS untuk Oracle
  Amazon RDS untuk SQL Server
  Amazon Redshift
  DB2
  Bor
  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 ODBC SAP Hana
  Tabel SAP
  Kepingan salju
  Spark
  SQL Server
  Sybase
  Teradata
  Vertica
NoSQL Cassandra
  Couchbase (Pratinjau)
  MongoDB
  MongoDB Atlas
Arsip Amazon S3
  Penyimpanan yang Kompatibel dengan Amazon S3
  Sistem berkas
  FTP
  Google Cloud Storage
  HDFS
  Penyimpanan Cloud Oracle
  SFTP
Protokol generik HTTP Generik
  OData Generik
  ODBC 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
  Salesforce Service Cloud
  Salesforce Marketing Cloud
  SAP Cloud untuk Pelanggan (C4C)
  SAP ECC
  ServiceNow
Daftar SharePoint Online
  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 mengandalkan 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 ditautkan dengan aktivitas lain.

Untuk informasi selengkapnya, lihat artikel aktivitas transformasi data.

Aktivitas transformasi data Lingkungan komputasi
Data Flow Kluster Apache Spark 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]
Kegiatan ML Studio (klasik): Eksekusi Batch dan Perbarui Sumber Daya VM Azure
Prosedur Tersimpan Azure SQL, Azure Synapse Analytics, atau SQL Server
Aktivitas Khusus Azure Batch
Buku Catatan Databricks Azure Databricks
Aktivitas Databricks Jar Azure Databricks
Aktivitas Python Databricks 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 Kerja Aktivitas Jalankan Alur memungkinkan alur Data Factory atau Synapse untuk memanggil alur lain.
Saringan Menerapkan ekspresi filter ke array input
Untuk Masing-masing Aktivitas ForEach menentukan alur kontrol berulang di alur Anda. Aktivitas ini digunakan untuk mengiterasi suatu koleksi dan mengeksekusi aktivitas tertentu secara berulang. 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 If dapat digunakan untuk melakukan percabangan berdasarkan kondisi yang bernilai benar atau salah. Aktivitas If Condition menyediakan fungsionalitas yang sama dengan yang diberikan oleh pernyataan if dalam bahasa pemrogram. Evaluasi dilakukan terhadap satu kumpulan aktivitas saat kondisi tersebut bernilai true dan kumpulan aktivitas lainnya saat kondisi bernilai 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 oleh aktivitas berikutnya.
Atur Variabel Mengatur nilai variabel yang ada.
Aktivitas Hingga Mengimplementasikan perulangan Do-Until yang mirip dengan struktur perulangan Do-Until dalam bahasa pemrograman. Ini menjalankan kumpulan aktivitas berulang hingga kondisi pada aktivitas tersebut bernilai benar. Anda dapat menentukan nilai waktu habis untuk aktivitas until.
Aktivitas Validasi Pastikan alur hanya melanjutkan eksekusi jika himpunan data referensi ada, memenuhi kriteria tertentu, atau waktu habis 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 tersebut.
Aktivitas Webhook Menggunakan aktivitas webhook, memanggil titik akhir, dan meneruskan URL panggilan balik. Eksekusi pipeline menunggu hingga fungsi callback dipanggil sebelum melanjutkan ke aktivitas berikutnya.

Membuat alur dengan antarmuka pengguna

Untuk membuat pipeline baru, navigasikan ke tab Penulis di Data Factory Studio (diwakili oleh ikon pensil), lalu pilih tanda plus dan pilih Pipeline dari menu, kemudian pilih Pipeline lagi dari submenu.

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

Pabrik data menampilkan editor alur tempat Anda dapat menemukan:

  1. Semua aktivitas yang dapat digunakan dalam pipeline.
  2. Kanvas editor pipeline, tempat aktivitas muncul saat ditambahkan ke dalam pipeline.
  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 menampilkan item yang terkait dengan alur kerja dalam factory data.

Screenshot yang memperlihatkan panel editor alur di studio Azure Data Factory dengan setiap bagian yang dijelaskan disorot.

Pipa JSON

Berikut adalah bagaimana alur didefinisikan dalam format JSON:

{
    "name": "PipelineName",
    "properties":
    {
        "description": "pipeline description",
        "activities":
        [
        ],
        "parameters": {
        },
        "concurrency": <your max pipeline concurrency>,
        "annotations": [
        ]
    }
}
Etiket Deskripsi Jenis Wajib
nama Nama alur. Tentukan nama yang mewakili tindakan yang dilakukan saluran pipeline.
  • Jumlah karakter maksimum: 140
  • Harus dimulai dengan huruf, angka, atau garis bawah (_)
  • Karakter berikut tidak diperbolehkan: ".", "+", "?", "/", "<",">,"*"," %"," &",":"," "
string Ya
Deskripsi Tentukan teks yang menjelaskan untuk apa alur tersebut digunakan. string Tidak.
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. Daftar Tidak.
keserempakan Jumlah maksimum perulangan bersamaan yang dapat dimiliki oleh pipeline. Secara default, tidak ada maksimum. Jika batas konkurensi tercapai, jalan alur tambahan diantrekan hingga jalan alur sebelumnya selesai. Angka Tidak.
anotasi Daftar tag yang terkait dengan alur Array Tidak.

Aktivitas JSON

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

Aktivitas pelaksanaan

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:

Etiket 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
Deskripsi 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
NamaLayananTerkait 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
tipeProperti Properti di bagian typeProperties bergantung pada setiap jenis aktivitas. Untuk melihat properti jenis untuk aktivitas, pilih tautan ke aktivitas di bagian sebelumnya. Tidak.
kebijakan Kebijakan yang memengaruhi perilaku run-time aktivitas. Properti ini mencakup perilaku batas waktu dan pengulangan. Jika tidak ditentukan, nilai default akan digunakan. Untuk informasi selengkapnya, lihat bagian Kebijakan aktivitas. Tidak.
bergantung pada Properti ini digunakan untuk menentukan dependensi aktivitas, dan bagaimana aktivitas berikutnya bergantung pada aktivitas sebelumnya. Untuk informasi selengkapnya, lihat Dependensi aktivitas Tidak.

Kebijakan aktivitas

Kebijakan memengaruhi perilaku saat berjalan dari suatu aktivitas, menyediakan 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
batas waktu Menentukan batas waktu untuk menjalankan aktivitas. Rentang waktu Tidak. Batas waktu default adalah 12 jam, minimal 10 menit.
coba lagi Batas maksimum upaya pengulangan Bilangan bulat Tidak. Defaultnya adalah 0
intervalUlangDalamDetik Penundaan antara upaya coba lagi dalam hitungan detik Bilangan bulat Tidak. Pengaturan bawaan adalah 30 detik
Keluaran aman Bila diatur ke true, output dari aktivitas dianggap aman dan tidak dicatat untuk pemantauan. Boolean Tidak. Pengaturan bawaan adalah false.

Aktivitas kontrol

Aktivitas kontrol memiliki struktur tingkat atas berikut:

{
    "name": "Control Activity Name",
    "description": "description",
    "type": "<ActivityType>",
    "typeProperties":
    {
    },
    "dependsOn":
    {
    }
}
Etiket 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
    Deskripsi 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
    tipeProperti Properti di bagian typeProperties bergantung pada setiap jenis aktivitas. Untuk melihat properti jenis untuk aktivitas, pilih tautan ke aktivitas di bagian sebelumnya. Tidak.
    bergantung pada Properti ini digunakan untuk menentukan Dependensi Aktivitas, dan bagaimana aktivitas berikutnya bergantung pada aktivitas sebelumnya. Untuk informasi selengkapnya, lihat dependensi aktivitas. Tidak.

    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 ketergantungan pada Aktivitas A dengan status dilompati: Aktivitas B akan 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, Aktivitas Z juga berstatus "Dilewatkan".

    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 jalur kerja

    Dalam pipeline sampel berikut, ada satu aktivitas jenis Salin di bagian aktivitas. Dalam sampel ini, aktivitas copy menyalin data dari penyimpanan Blob Azure 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, 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, pilih penyimpanan data yang ingin Anda gunakan sebagai sumber atau sink untuk mempelajari selengkapnya tentang memindahkan data ke/dari penyimpanan data tersebut.

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

    Contoh alur transformasi

    Dalam alur sampel berikut, ada satu aktivitas jenis HDInsightHive di bagian aktivitas . Dalam sampel ini, aktivitas Apache Hive HDInsight mengubah data dari penyimpanan Blob Azure dengan menjalankan file skrip Apache Hive pada 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 properti jenis yang didukung untuk aktivitas transformasi, pilih aktivitas transformasi dalam aktivitas Transformasi data.

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

    Beberapa aktivitas dalam aliran kerja

    Dua alur sampel sebelumnya hanya memiliki satu aktivitas di dalamnya. Anda dapat memiliki lebih dari satu aktivitas dalam pipeline. 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 aliran kerja

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

    Untuk menjalankan alur dari pemicu Anda, 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 eksekusi alur dan pemicu.

    Misalnya, Anda memiliki pemicu Penjadwal, "Pemicu A", yang ingin saya gunakan untuk memulai 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"
          }
        }
      }
    }