All Products
Search
Document Center

Migration Hub:Azure Data Factory (ADF) - DataWorks

Last Updated:Dec 19, 2025

Topik ini menjelaskan cara melakukan migrasi alur kerja penjadwalan dari Azure Data Factory (ADF) ke DataWorks menggunakan tool migrasi LHM. Prosesnya mencakup tiga langkah: mengekspor tugas dari ADF, mengonversi tugas penjadwalan, dan mengimpor tugas ke DataWorks.

1. Siapkan lingkungan

1.1. Siapkan lingkungan runtime

No.

Item

Spesifikasi

Jumlah

Catatan

1

ECS

4-core 16 GB atau lebih tinggi

1

Citra OS CentOS atau AliyunOS didukung.

2

JDK 17

3

Paket runtime

Tautan unduhan

1.2. Siapkan jaringan

  • VPC yang berisi instance ECS harus memiliki akses jaringan publik.

1.3. Siapkan akun dan izin

1.3.1. Gunakan autentikasi pendaftaran layanan

  • Daftarkan sebuah aplikasi.

  • Dapatkan rahasia klien (client secret).

1.3.2. Konfigurasikan izin Azure Data Factory

1.3.3. Konfigurasikan izin blob

Langkah ini bersifat opsional. Untuk membaca konten file dari blob dalam suatu node, Anda harus memberikan izin ke blob tersebut. Anda dapat menggunakan metode yang sama seperti saat memberikan izin untuk pendaftaran layanan ADF.

1.3.4. Konfigurasikan izin Databricks

Langkah ini bersifat opsional. Hanya diperlukan untuk membaca file skrip eksternal untuk node Databricks di ADF.

  1. Buka workbench Databricks.

  2. Klik User Settings.

  3. Di sebelah kiri, buka halaman Developer.

  4. Klik Generate new token.

2. Ekspor tugas dari Azure Data Factory

Anda dapat mengekspor tugas menggunakan software development kit (SDK). Dependensinya sebagai berikut:

<dependency>
      <groupId>com.azure.resourcemanager</groupId>
      <artifactId>azure-resourcemanager-datafactory</artifactId>
    </dependency>
    <dependency>
      <groupId>com.azure</groupId>
      <artifactId>azure-identity</artifactId>
    </dependency>
    <dependency>
      <groupId>com.azure</groupId>
      <artifactId>azure-storage-blob</artifactId>
    </dependency>
    <dependency>
      <groupId>com.databricks</groupId>
      <artifactId>databricks-sdk-java</artifactId>
    </dependency>

2.1. File konfigurasi

{
  "schedule_datasource": {
    "name": "name",
    "type": "adf",
    "properties": {
      "isUseProxy": false,
      "proxyHost": "proxy.msl.cn",
      "proxyPort": "8080",
      "AzureCloud": "AZURE_CHINA_CLOUD",
      "apiMode": "sdk"
      "endpoint": "https://management.azure.com",
      "subscriptionId": "xxx",
      "factory": "bigdata-adf-jiman",
      "project": "bigdata-adf-jiman",
      "resourceGroupName": "biadata",
      "tenantId": "xxx",
      "clientId": "xxx",
      "clientSecretValue": "xxxx",
      "dbr_endpoint": "https://adb-xxxxx.16.azuredatabricks.net",
      "dbr_token": "xxxxx",
      "pipelineNameWhite": "dbr-demo"
    },
    "operaterType": "AUTO"
  }
}

2.2. Deskripsi parameter

No.

Parameter

Wajib

Contoh

Catatan

1

isUseProxy

Tidak

false

Diperlukan untuk mengakses Azure dalam modus proxy.

2

proxyHost

Tidak

proxy.msl.cn

Diperlukan untuk mengakses Azure dalam modus proxy.

3

proxyPort

Tidak

8080

Diperlukan untuk mengakses Azure dalam modus proxy.

4

AzureCloud

Tidak

AZURE_CHINA_CLOUD

Nilai valid:

Nilai valid tercantum di bawah ini. Nilai-nilai tersebut sesuai dengan wilayah yang berbeda. Nilai default adalah AZURE_CHINA_CLOUD.

  1. AZURE_PUBLIC_CLOUD

  2. AZURE_CHINA_CLOUD

  3. AZURE_US_GOVERNMENT_CLOUD

5

endpoint

Tidak

https://portal.azure.com

Parameter ini terkait dengan AzureCloud dan bersifat opsional.

6

subscriptionId

Ya

xxxxx

ID langganan. Anda dapat memperolehnya dari ikhtisar di halaman utama ADF.

7

resourceGroupName

Ya

xxxxx

Nama kelompok sumber daya. Anda dapat memperolehnya dari ikhtisar di halaman utama ADF.

8

factory

Ya

bigdata-adf-jiman

Digunakan sebagai pengenal.

9

project

Tidak

bigdata-adf-jiman

Pertahankan parameter ini konsisten dengan parameter factory.

10

tenantId

Ya

xxxxx

Anda dapat memperolehnya selama langkah pendaftaran layanan.

11

clientId

Ya

xxxxx

Anda dapat memperolehnya selama langkah pendaftaran layanan.

12

clientSecretValue

Ya

xxxxx

Anda dapat memperolehnya selama langkah pendaftaran layanan.

13

dbr_endpoint

Tidak

xxxxx

Peroleh dari halaman utama Databricks.

14

dbr_token

Tidak

xxxxx

Peroleh dari halaman utama Databricks.

15

pipelineNameWhite

Tidak

dbr-demo

Daftar putih. Untuk menentukan beberapa nama pipeline, pisahkan dengan koma (,).

2.3. Jalankan perintah ekspor

mkdir result
sh ./bin/run.sh read \
-c ./conf/<your_config_file>.json \
-o ./data/1_ReaderOutput/<source_export_package>.zip \
-t adf-reader

Deskripsi parameter

No.

Parameter

Wajib

Contoh

Catatan

1

-c

Ya

./conf/<your_config_file>.json

Jalur file konfigurasi.

2

-o

Ya

./data/1_ReaderOutput/<source_export_package>.zip

Jalur output.

3

-t

Ya

adf-reader

Jenis plugin. Ini adalah bidang statis.

Contoh perintah lengkap

mkdir result
sh ./bin/run.sh read -c ./conf/read.json -f ./result/temp.zip -o ./result/read_out.zip  -t adf-reader

2.4. Lihat hasil ekspor

Anda dapat membuka paket ReaderOutput.zip yang dihasilkan di direktori ./data/1_ReaderOutput/ untuk melihat pratinjau hasil ekspor. Laporan statistik menyediakan ringkasan informasi dasar tentang alur kerja, node, sumber daya, fungsi, dan sumber data. Folder data/project berisi struktur data terstandarisasi untuk informasi penjadwalan.

Laporan statistik menyediakan dua fitur khusus:

1. Anda dapat mengubah properti alur kerja dan node dalam laporan. Bidang yang dapat diedit ditandai dengan font biru. Saat Anda mengimpor tugas ke DataWorks, tool akan menerapkan perubahan properti tersebut.

2. Anda dapat melewati alur kerja tertentu selama impor ke DataWorks dengan menghapus baris yang sesuai di tabel anak alur kerja. Fitur ini berfungsi sebagai blacklist alur kerja. Catatan: Jika alur kerja saling bergantung, mereka harus diimpor dalam batch yang sama. Jangan gunakan blacklist untuk memisahkan mereka, karena hal ini menyebabkan error.

Untuk informasi selengkapnya, lihat Gunakan laporan ikhtisar dalam migrasi penjadwalan untuk menambah atau mengubah properti penjadwalan.

3. Konversi tugas penjadwalan

3.1. File konfigurasi

{
  "conf": {
    "locale": "zh_CN"
  },
  "self": {
    "if.use.default.convert": false,
    "if.use.migrationx.before": false,
    "if.use.dataworks.newidea": true,
    "filter.rule": []
  },
  "schedule_datasource": {
    "name": "adf",
    "type": "Adf"
  },
  "target_schedule_datasource": {
    "name": "name",
    "type": "DataWorks"
  }
}

3.2. Deskripsi parameter

Pengaturan default sudah cukup.

No.

Parameter

Wajib

Contoh

Catatan

1

filter.rule

Tidak

[

{

"type": "black",

"element": "node",

"field": "name",

"value": "DataXNode"

}

]

Aturan filter. Parameter ini bersifat opsional.

type menentukan daftar hitam atau daftar putih. Nilai valid: BLACK dan WHITE.

element menentukan jenis elemen yang difilter. Jenis yang didukung: NODE dan WORKFLOW.

field menentukan apakah akan difilter berdasarkan nama atau ID. Nilai valid: ID dan NAME.

value menentukan nilainya. Untuk menentukan beberapa nilai, pisahkan dengan koma (,).

schedule_datasource.name mengidentifikasi sumber data, yang sesuai dengan direktori root semua alur kerja.

3.3. Logika konversi dan pemetaan node bawaan

3.3.1. Logika pemetaan node umum

Jenis node ADF

Jenis node DataWorks

Catatan

Copy

DI

Saat ini, hanya skrip JSON asli yang tersedia. Konten spesifik node Data Integration (DI) bergantung pada jenis sumber data. Untuk melakukan konversi, Anda harus memiliki informasi tentang semua jenis sumber data terkait DI.

Delete

DIDE_SHELL

Skrip shell yang menggabungkan jalur file untuk penghapusan.

SqlServerStoredProcedure

ODPS-SQL

Default-nya adalah node ODPS. Jika logika menentukan bahwa ini adalah SQL Server, jenis nodenya adalah Sql Server.

DatabricksSparkJar

ODPS-SPARK

Node ODPS Spark dikonversi menggunakan parameter yang ada. Beberapa informasi mungkin hilang.

DatabricksSparkPython

ODPS-SPARK

Node ODPS Spark dikonversi menggunakan parameter yang ada. Beberapa informasi mungkin hilang.

DatabricksNotebook

NOTEBOOK

Sel yang terkait Scala tidak diproses.

SynapseNotebook

NOTEBOOK

Sel yang terkait Scala tidak diproses.

SparkJob

ODPS-SPARK

Sementara dikonversi menjadi node virtual.

AppendVariable

CONTROLLER_ASSIGNMENT

Node assignment.

ExecutePipeline

SUB_PROCESS

Script

ODPS_SQL

Wait

DIDE_SHELL

WebActivity

DIDE_SHELL

IfCondition

CONTROLLER_BRANCH

Dikonversi menjadi node cabang, subproses, dan node gabungan.

FOREACH

CONTROLLER_TRAVERSE

Foreach

Switch

CONTROLLER_BRANCH

Dikonversi menjadi node cabang, subproses, dan node gabungan.

Until

CONTROLLER_CYCLE

Node do-while.

Lookup

CONTROLLER_ASSIGNMENT

Filter

CONTROLLER_ASSIGNMENT

GetMeta

CONTROLLER_ASSIGNMENT

SetVariable

CONTROLLER_ASSIGNMENT

HDInsightHive

ODPS-SQL

HDInsightSpark

ODPS_Spark

HDInsightMapReduce

ODPS_MR

Lainnya

VIRTUAL

Catatan: Anda harus mengunggah file sumber daya secara manual.

3.3.2. Logika pemetaan node logis

  • ifcondition

  • foreach

  • switch

3.3.3. Jalankan perintah konversi

sh ./bin/run.sh convert \
-c ./conf/<your_config_file>.json \
-f ./data/1_ReaderOutput/<source_export_package>.zip \
-o ./data/2_ConverterOutput/<conversion_output_package>.zip \
-t wedata-dw-converter

No.

Parameter

Wajib

Contoh

Catatan

1

-c

Ya

./conf/<your_config_file>.json

Jalur file konfigurasi.

2

-f

Ya

./data/1_ReaderOutput/<source_export_package>.zip

Paket yang diekspor dari sumber.

3

-o

Ya

./result/convert_out.zip

Jalur untuk paket output.

4

-t

Ya

adf-dw-converter

Jenis plugin. Ini adalah bidang statis.

3.3.4. Lihat hasil konversi

Anda dapat membuka paket ConverterOutput.zip yang dihasilkan di direktori ./data/2_ConverterOutput/ untuk melihat pratinjau hasil konversi.

Laporan statistik menyediakan ringkasan informasi dasar tentang alur kerja, node, sumber daya, fungsi, dan sumber data yang telah dikonversi.

Folder data/project berisi paket migrasi penjadwalan utama yang telah dikonversi.

Laporan statistik menyediakan dua fitur khusus:

1. Anda dapat mengubah properti alur kerja dan node dalam laporan. Bidang yang dapat diedit ditandai dengan font biru. Saat Anda mengimpor tugas ke DataWorks, tool akan menerapkan perubahan properti tersebut.

2. Anda dapat melewati alur kerja tertentu selama impor ke DataWorks dengan menghapus baris yang sesuai di tabel anak alur kerja. Fitur ini berfungsi sebagai blacklist alur kerja. Catatan: Jika alur kerja saling bergantung, mereka harus diimpor dalam batch yang sama. Jangan gunakan blacklist untuk memisahkan mereka, karena hal ini menyebabkan error.

Untuk informasi selengkapnya, lihat Gunakan laporan ikhtisar dalam migrasi penjadwalan untuk menambah atau mengubah properti penjadwalan.

4. Impor tugas ke DataWorks

Tool migrasi LHM mengonversi elemen penjadwalan dari sumber ke format penjadwalan DataWorks. Tool ini menyediakan titik masuk unggah terpadu yang memungkinkan Anda mengimpor alur kerja ke DataWorks untuk berbagai skenario migrasi.

Tool impor mendukung beberapa operasi tulis dan secara otomatis membuat atau memperbarui alur kerja dalam mode overwrite.

1. Prasyarat

1.1. Konversi berhasil

Tool konversi harus berjalan dengan sukses, mengonversi informasi penjadwalan sumber ke format penjadwalan DataWorks, dan menghasilkan paket ConverterOutput.zip.

(Opsional, direkomendasikan) Anda dapat membuka paket output konversi dan melihat laporan statistik untuk memverifikasi bahwa cakupan migrasi telah dikonversi dengan sukses.

1.2. Konfigurasi DataWorks

Di DataWorks, Anda harus melakukan tindakan berikut:

1. Buat ruang kerja.

2. Buat pasangan Kunci Akses (ID AccessKey dan Rahasia AccessKey) dan pastikan memiliki izin administrator untuk ruang kerja tersebut. (Kami sangat menyarankan Anda membuat pasangan Kunci Akses yang terikat ke akun Anda untuk mempermudah troubleshooting.)

3. Di ruang kerja, buat sumber data, sambungkan sumber daya komputasi, dan buat kelompok sumber daya.

4. Di ruang kerja, unggah file sumber daya dan buat user-defined function (UDF).

1.3. Pemeriksaan konektivitas jaringan

Anda harus memverifikasi koneksi ke titik akhir DataWorks.

Untuk daftar titik akhir, lihat:

Titik akhir

ping dataworks.aliyuncs.com

2. Impor item konfigurasi

Anda dapat membuat file konfigurasi ekspor JSON, seperti writer.json, di folder conf proyek.

  • Sebelum menggunakan file tersebut, Anda harus menghapus komentar dari JSON.

{
  "schedule_datasource": {
    "name": "YourDataWorks", // Beri nama sumber data DataWorks Anda.
    "type": "DataWorks",
    "properties": {
      "endpoint": "dataworks.cn-hangzhou.aliyuncs.com", // Titik akhir
      "project_id": "YourProjectId", // ID ruang kerja
      "project_name": "YourProject", // Nama ruang kerja
      "ak": "************", // ID AccessKey
      "sk": "************" // Rahasia AccessKey
    },
    "operaterType": "MANUAL"
  },
  "conf": {
    "di.resource.group.identifier": "Serverless_res_group_***_***", // Kelompok sumber daya penjadwalan
    "resource.group.identifier": "Serverless_res_group_***_***", // Kelompok sumber daya integrasi data
    "dataworks.node.type.xls": "/Software/bwm-client/conf/CodeProgramType.xls", // Jalur tabel jenis node DataWorks
    "qps.limit": 5 // Batas atas permintaan per detik (QPS) untuk permintaan API yang dikirim ke DataWorks
  }
}

2.1. Titik akhir

Anda dapat memilih titik akhir berdasarkan wilayah ruang kerja DataWorks Anda. Untuk informasi selengkapnya, lihat:

Titik akhir

2.2. ID dan nama ruang kerja

Anda dapat membuka Konsol DataWorks dan menuju ke halaman detail ruang kerja. Anda dapat memperoleh ID dan nama ruang kerja dari informasi dasar di sebelah kanan.

2.3. Buat dan otorisasi pasangan AccessKey

Di halaman pengguna, Anda dapat membuat pasangan AccessKey yang memiliki izin baca dan tulis administrator untuk ruang kerja DataWorks target.

Manajemen izin melibatkan dua lokasi. Jika Anda menggunakan pengguna Resource Access Management (RAM), Anda harus terlebih dahulu memberikan izin kepada pengguna RAM tersebut untuk mengoperasikan DataWorks.

Halaman Kebijakan: https://ram.console.alibabacloud.com/policies

Kemudian, di ruang kerja DataWorks, Anda dapat menetapkan izin ruang kerja ke akun tersebut.

Catatan: Anda dapat menetapkan kebijakan kontrol akses jaringan untuk AccessKey. Pastikan alamat IP mesin tempat tool migrasi berada diizinkan untuk mengakses jaringan.

2.4. Kelompok sumber daya

Dari bilah menu di sebelah kiri halaman detail ruang kerja DataWorks, buka halaman kelompok sumber daya. Anda dapat menyambungkan kelompok sumber daya dan memperoleh ID-nya.

Kelompok sumber daya serbaguna dapat digunakan untuk penjadwalan node dan integrasi data. Anda dapat menetapkan kelompok sumber daya penjadwalan (resource.group.identifier) dan kelompok sumber daya integrasi data (di.resource.group.identifier) ke kelompok sumber daya serbaguna yang sama.

2.5. Pengaturan QPS

Tool melakukan impor data dengan memanggil API DataWorks. Edisi DataWorks yang berbeda memiliki batas permintaan per detik (QPS) dan batas panggilan harian yang berbeda untuk operasi OpenAPI baca dan tulis. Untuk informasi selengkapnya, lihat Batasan.

Untuk edisi DataWorks Basic, Standard, dan Professional, Anda dapat menetapkan "qps.limit" ke 5. Untuk Edisi Perusahaan, Anda dapat menetapkan "qps.limit" ke 20.

Catatan: Hindari menjalankan beberapa tool impor secara bersamaan.

2.6. Pengaturan ID jenis node DataWorks

Di DataWorks, beberapa jenis node diberi TypeId yang berbeda di wilayah yang berbeda. TypeID spesifik ditentukan oleh antarmuka Pengembangan Data di DataWorks. Karakteristik ini terutama berlaku untuk node database. Untuk informasi selengkapnya, lihat Node database.

Misalnya, NodeTypeId untuk node MySQL adalah 1000039 di wilayah Hangzhou dan 1000041 di wilayah Shenzhen.

Untuk menyesuaikan perbedaan regional ini di DataWorks, tool menyediakan metode konfigurasi yang memungkinkan Anda mengonfigurasi tabel TypeId node yang digunakan oleh tool.

Tabel tersebut diimpor menggunakan item konfigurasi di tool impor:

"conf": {
    "dataworks.node.type.xls": "/Software/bwm-client/conf/CodeProgramType.xls" // Jalur tabel jenis node DataWorks
 }

Untuk memperoleh ID jenis node dari antarmuka Pengembangan Data DataWorks, Anda dapat membuat alur kerja baru, menambahkan node baru ke alur kerja tersebut, menyimpan alur kerja, lalu melihat Spec alur kerja tersebut.

Jika jenis node dikonfigurasi salah, error berikut dilaporkan saat alur kerja dipublikasikan.

3. Jalankan tool impor DataWorks

Tool impor dipanggil dari command line. Perintahnya sebagai berikut:

sh ./bin/run.sh write \
-c ./conf/<your_config_file>.json \
-f ./data/2_ConverterOutput/<conversion_output_package>.zip \
-o ./data/4_WriterOutput/<import_result_package>.zip \
-t dw-newide-writer

Dalam perintah tersebut, -c adalah jalur file konfigurasi, -f adalah jalur penyimpanan paket ConverterOutput, -o adalah jalur penyimpanan paket WriterOutput, dan -t adalah nama plugin pengiriman.

Misalnya, untuk mengimpor Proyek A ke DataWorks:

sh ./bin/run.sh write \
-c ./conf/projectA_write.json \
-f ./data/2_ConverterOutput/projectA_ConverterOutput.zip \
-o ./data/4_WriterOutput/projectA_WriterOutput.zip \
-t dw-newide-writer

Tool impor mencetak informasi proses selama runtime. Anda dapat memeriksa adanya error selama proses berlangsung. Setelah impor selesai, statistik impor yang berhasil dan gagal dicetak di command line. Catatan: Kegagalan impor beberapa node tidak menghentikan keseluruhan proses impor. Jika sejumlah kecil node gagal diimpor, Anda dapat memodifikasinya secara manual di DataWorks.

4. Lihat hasil impor

Setelah impor selesai, Anda dapat melihat hasilnya di DataWorks. Anda juga dapat memantau proses impor alur kerja. Jika Anda menemukan masalah dan perlu menghentikan impor, Anda dapat menjalankan perintah jps untuk menemukan BwmClientApp lalu menjalankan perintah kill -9 untuk menghentikan proses tersebut.

5. Tanya Jawab

5.1. Sumber berada dalam pengembangan berkelanjutan. Bagaimana increment dan perubahan ini dikirimkan ke DataWorks?

Tool migrasi beroperasi dalam mode overwrite. Anda dapat menjalankan ulang proses ekspor, konversi, dan impor untuk mengirimkan perubahan inkremental dari sumber ke DataWorks. Catatan: Tool mencocokkan alur kerja berdasarkan jalur lengkapnya untuk memutuskan apakah akan membuat atau memperbarui. Untuk memastikan perubahan dimigrasikan dengan benar, jangan memindahkan alur kerja tersebut.

5.2. Sumber berada dalam pengembangan berkelanjutan, dan alur kerja di DataWorks sedang ditransformasi dan dikelola. Apakah migrasi inkremental akan menimpa perubahan di DataWorks?

Ya, demikian. Tool migrasi beroperasi dalam mode overwrite. Kami menyarankan agar Anda melakukan transformasi lanjutan di DataWorks hanya setelah migrasi selesai. Atau, Anda dapat menggunakan pendekatan migrasi bertahap. Setelah sekelompok alur kerja dimigrasikan dan Anda memastikan bahwa mereka tidak akan ditimpa lagi, Anda dapat mulai mentransformasikannya di DataWorks. Batch yang berbeda tidak saling memengaruhi.

5.3. Seluruh paket membutuhkan waktu terlalu lama untuk diimpor. Bisakah saya hanya mengimpor sebagian saja?

Ya, bisa. Anda dapat memangkas paket secara manual untuk melakukan impor parsial. Di folder data/project/workflow, simpan alur kerja yang ingin Anda impor dan hapus yang lainnya. Kemudian, Anda dapat mengompres ulang folder tersebut menjadi paket dan menjalankan tool impor. Catatan: Alur kerja yang saling bergantung harus diimpor bersama. Jika tidak, lineage node di antara mereka akan hilang.