Topik ini menjelaskan cara melakukan migrasi data dari DLF-Legacy ke DLF dengan menerapkan pekerjaan JAR di Realtime Compute for Apache Flink.
Prasyarat
Anda telah membuat ruang kerja fully managed Flink. Untuk informasi selengkapnya, lihat Aktifkan Realtime Compute for Apache Flink.
Anda telah mengaktifkan layanan OSS dan membuat bucket. Untuk informasi selengkapnya, lihat Buat bucket.
Anda telah membuat katalog data DLF-Legacy. Untuk informasi selengkapnya, lihat Manajemen metadata.
Anda telah membuat katalog data DLF. Untuk informasi selengkapnya, lihat Buat katalog data.
Prosedur
Langkah 1: Buat pekerjaan JAR
Login ke Konsol manajemen Realtime Compute for Apache Flink.
Pada daftar ruang kerja fully managed Flink, klik nama ruang kerja Anda.
Pada panel navigasi di sebelah kiri, pilih .
Klik Deploy Job, pilih JAR Job, lalu konfigurasikan parameter berikut.
Parameter
Deskripsi
Contoh
Deployment Mode
Parameter ini tetap diatur ke Batch Mode.
Batch Mode
Deployment Name
Masukkan nama untuk pekerjaan JAR.
migrate_paimon
Engine Version
Pilih versi mesin komputasi waktu nyata.
vvr-8.0.11-flink-1.17
JAR URI
Unggah paket JAR paimon-flink-action.
Unggah paket paimon-flink-action-1.3-SNAPSHOT-for-clone-20250909.jar. Jika sudah pernah diunggah sebelumnya, pilih dari daftar drop-down.
Entry Point Class
Kelas titik masuk program.
Biarkan kosong.
Entry Point Main Arguments
Parameter yang diteruskan ke metode main.
Biarkan kosong untuk saat ini. Parameter spesifik tergantung pada pekerjaan. Untuk informasi selengkapnya, lihat Langkah 2.
Additional Dependencies
Tentukan path atau nama file dependensi yang akan disambungkan.
Unggah paket paimon-ali-vvr-8.0-vvp-1.3-ali-SNAPSHOT-for-clone-20250909.jar. Jika sudah pernah diunggah sebelumnya, pilih dari daftar drop-down.
CatatanUntuk informasi selengkapnya tentang parameter deployment, lihat Terapkan pekerjaan JAR.
Klik Deploy untuk membuat pekerjaan JAR.
Langkah 2: Sesuaikan parameter dan mulai pekerjaan
Pekerjaan Flink dapat melakukan migrasi seluruh katalog, seluruh database, atau satu tabel saja. Sesuaikan parameter Entry Point Main Arguments berdasarkan tujuan migrasi Anda.
Pada daftar Deployments, temukan pekerjaan JAR yang telah Anda buat lalu klik Details.
Pada halaman Deployment Details, klik Edit di pojok kanan atas dan masukkan ulang parameter
Entry Point Main Arguments.Pilih salah satu metode berikut berdasarkan jenis tabel sumber Anda:
Clone Hive tables
Tabel sumber dapat berupa tabel Hive (seperti Parquet, ORC, dan Avro), tabel Iceberg, atau tabel Hudi. Setelah migrasi, tabel-tabel tersebut dikonversi menjadi tabel Paimon append-only.
clone --parallelism '<parallelism>' --database '<database-name>' --table '<table-name>' --catalog_conf 'metastore=dlf' --catalog_conf "warehouse=<warehouse>" --catalog_conf 'dlf.catalog.id=<dlf.catalog.id>' --catalog_conf 'dlf.catalog.accessKeyId=<dlf.catalog.accessKeyId>' --catalog_conf 'dlf.catalog.accessKeySecret=<dlf.catalog.accessKeySecret>' --catalog_conf 'dlf.catalog.endpoint=<dlf.catalog.endpoint>' --catalog_conf 'dlf.catalog.region=<dlf.catalog.region>' --catalog_conf 'fs.oss.endpoint=<fs.oss.endpoint>' --catalog_conf 'fs.oss.accessKeyId=<fs.oss.accessKeyId>' --catalog_conf 'fs.oss.accessKeySecret=<fs.oss.accessKeySecret>' --target_database '<target-database-name>' --target_table '<target-table-name>' --target_catalog_conf 'metastore=rest' --target_catalog_conf 'warehouse=<target-warehouse>' --target_catalog_conf 'uri=<dlf.next.endpoint>' --target_catalog_conf 'token.provider=dlf' --target_catalog_conf 'dlf.access-key-id=<dlf.access-key-id>' --target_catalog_conf 'dlf.access-key-secret=<dlf.access-key-secret>' --clone_from 'hive' --where '<filter-spec>'Clone Paimon tables
clone --parallelism '<parallelism>' --database '<database-name>' --table '<table-name>' --catalog_conf 'metastore=dlf' --catalog_conf "warehouse=<warehouse>" --catalog_conf 'dlf.catalog.id=<dlf.catalog.id>' --catalog_conf 'dlf.catalog.accessKeyId=<dlf.catalog.accessKeyId>' --catalog_conf 'dlf.catalog.accessKeySecret=<dlf.catalog.accessKeySecret>' --catalog_conf 'dlf.catalog.endpoint=<dlf.catalog.endpoint>' --catalog_conf 'dlf.catalog.region=<dlf.catalog.region>' --catalog_conf 'fs.oss.endpoint=<fs.oss.endpoint>' --catalog_conf 'fs.oss.accessKeyId=<fs.oss.accessKeyId>' --catalog_conf 'fs.oss.accessKeySecret=<fs.oss.accessKeySecret>' --target_database '<target-database-name>' --target_table '<target-table-name>' --target_catalog_conf 'metastore=rest' --target_catalog_conf 'warehouse=<target-warehouse>' --target_catalog_conf 'uri=<dlf.next.endpoint>' --target_catalog_conf 'token.provider=dlf' --target_catalog_conf 'dlf.access-key-id=<dlf.access-key-id>' --target_catalog_conf 'dlf.access-key-secret=<dlf.access-key-secret>' --clone_from 'paimon' --where '<filter-spec>'Tabel berikut menjelaskan parameter-parameter tersebut.
Parameter
Deskripsi
Wajib
Catatan
parallelism
Konkurensi pekerjaan.
Tidak
Contoh: 16
database-name
Nama database DLF-Legacy (Versi Lama) sumber yang akan di-clone.
Tidak
Contoh: my_database
table-name
Nama tabel data DLF-Legacy (Versi Lama) sumber yang akan di-clone.
Tidak
Contoh: my_table
warehouse
Path repositori OSS dari katalog data DLF-Legacy (Versi Lama) sumber.
Ya
Formatnya adalah
oss://<bucket>/<object>. Dalam format ini:bucket: nama bucket OSS Anda.
object: path tempat data Anda disimpan.
Temukan nama bucket dan object Anda di Konsol OSS.
dlf.catalog.id
ID katalog data DLF-Legacy (Versi Lama).
Ya
Temukan ID katalog data di Konsol DLF-Legacy (Versi Lama). Untuk informasi selengkapnya, lihat Katalog Data.
dlf.catalog.accessKeyId
ID AccessKey yang diperlukan untuk mengakses layanan DLF.
Ya
Gunakan AccessKey yang sudah ada atau buat yang baru. Untuk informasi selengkapnya, lihat Buat AccessKey.
CatatanUntuk mengurangi risiko kebocoran rahasia AccessKey, Rahasia AccessKey hanya ditampilkan saat Anda membuatnya dan tidak dapat dilihat lagi setelah itu. Simpan Rahasia AccessKey Anda secara rahasia.
dlf.catalog.accessKeySecret
Rahasia AccessKey yang diperlukan untuk mengakses layanan DLF.
Ya
dlf.catalog.endpoint
Titik akhir layanan DLF.
Ya
Untuk informasi selengkapnya, lihat Wilayah dan titik akhir.
Contoh: dlf-vpc.cn-hangzhou.aliyuncs.com.
dlf.catalog.region
Wilayah tempat DLF berada.
Ya
Untuk informasi selengkapnya, lihat Wilayah dan titik akhir. Pastikan wilayah ini sama dengan yang ditentukan untuk dlf.catalog.endpoint.
Contoh: cn-hangzhou.
fs.oss.endpoint
Alamat koneksi layanan OSS.
Ya
Untuk informasi tentang cara mendapatkan titik akhir, lihat Wilayah dan titik akhir.
Contoh OSS: oss-cn-hangzhou-internal.aliyuncs.com.
Contoh OSS-HDFS: cn-hangzhou.oss-dls.aliyuncs.com
fs.oss.accessKeyId
ID AccessKey dari Akun Alibaba Cloud atau Pengguna RAM yang memiliki izin baca dan tulis pada OSS.
Ya
Gunakan AccessKey yang sudah ada atau buat yang baru. Untuk informasi selengkapnya, lihat Buat AccessKey.
CatatanUntuk mengurangi risiko kebocoran rahasia AccessKey, Rahasia AccessKey hanya ditampilkan saat Anda membuatnya dan tidak dapat dilihat lagi setelah itu. Simpan Rahasia AccessKey Anda secara rahasia.
fs.oss.accessKeySecret
Rahasia AccessKey dari Akun Alibaba Cloud atau Pengguna RAM yang memiliki izin baca dan tulis pada OSS.
Ya
target-database-name
Nama database DLF hasil clone.
Tidak
Contoh: target_database
target-table-name
Nama tabel data DLF hasil clone.
Tidak
Contoh: target_table
target-warehouse
Nama katalog data DLF hasil clone.
Ya
Temukan nama katalog data di Konsol DLF. Untuk informasi selengkapnya, lihat Katalog Data.
dlf.next.endpoint
Titik akhir layanan DLF.
Ya
Untuk informasi selengkapnya, lihat Titik Akhir.
Contoh: cn-hangzhou-vpc.dlf.aliyuncs.com
dlf.access-key-id
ID AccessKey yang diperlukan untuk mengakses layanan DLF.
Ya
Gunakan AccessKey yang sudah ada atau buat yang baru. Untuk informasi selengkapnya, lihat Buat AccessKey.
CatatanUntuk mengurangi risiko kebocoran rahasia AccessKey, Rahasia AccessKey hanya ditampilkan saat Anda membuatnya dan tidak dapat dilihat lagi setelah itu. Simpan Rahasia AccessKey Anda secara rahasia.
dlf.access-key-secret
Rahasia AccessKey yang diperlukan untuk mengakses layanan DLF.
Ya
clone_from
Jenis tabel sumber yang akan di-clone.
Ya
'hive' atau 'paimon'
filter-spec
Kondisi filter partisi untuk cloning.
Tidak
dt = '2024-10-01'
PentingUntuk melakukan migrasi seluruh database, jangan atur parameter
table-namedantarget-table-name.Untuk melakukan migrasi seluruh katalog data, jangan atur parameter
database-namedantarget-database-name.Saat melakukan migrasi seluruh katalog data atau database, Anda dapat mengecualikan tabel tertentu dengan mengatur parameter
--excluded_tables <excluded-tables-spec>. Contoh: my_db.my_tbl,my_db2.my_tbl2. Jangan atur parameter ini untuk migrasi satu tabel.
Setelah mengonfigurasi parameter, klik Save pada halaman Deployment Details.
Pada halaman Deployments, temukan pekerjaan JAR lalu klik Start. Anda dapat menggunakan parameter default untuk memulai pekerjaan.
Langkah 3: Verifikasi hasil
Saat status pekerjaan berubah menjadi Finished, login ke Konsol DLF-Legacy (Versi Lama) dan Konsol DLF untuk memeriksa apakah migrasi berhasil.
Jika Anda melakukan migrasi seluruh katalog: Periksa apakah struktur katalog, database, dan tabel di DLF konsisten dengan yang ada di DLF-Legacy.
Jika Anda melakukan migrasi seluruh database: Periksa apakah struktur database dan tabel di DLF konsisten dengan yang ada di DLF-Legacy.
Jika Anda melakukan migrasi satu tabel: Periksa apakah struktur tabel di DLF konsisten dengan yang ada di DLF-Legacy.