Migrasi DAG eksternal dari v4.2 ke v5.0
Panduan ini menguraikan langkah-langkah yang diperlukan untuk memindahkan tabel output dari Directed Acyclic Graph (DAG) eksternal ke lokasi barunya dalam arsitektur Cortex Data Foundation v5.0. Misalnya, Cuaca dan Tren. Panduan ini dirancang khusus untuk pengguna yang telah menerapkan DAG Eksternal di versi Cortex Framework Data Foundation sebelumnya (4.2 hingga 5.0) dan sekarang mengupgrade. Jika Anda belum menggunakan DAG Eksternal atau belum men-deploy SAP, panduan ini tidak berlaku.
Konteks
Versi Cortex Framework Data Foundation sebelum 4.2 menggunakan flag _GEN_EXT
untuk mengelola deployment sumber data eksternal, dengan beberapa sumber terikat dengan beban kerja tertentu (seperti konversi mata uang untuk SAP). Namun, dengan versi 5.0, flag
ini telah dihapus. Sekarang, ada modul baru yang dikhususkan untuk mengelola DAG
yang dapat menayangkan beberapa beban kerja. Panduan ini menguraikan langkah-langkah untuk menyesuaikan
pipeline data yang ada agar berfungsi dengan struktur baru ini.
DAG lintas beban kerja yang dapat digunakan kembali
Cortex Framework Data Foundation v5.0 memperkenalkan K9, komponen baru yang bertanggung jawab untuk
menyerap, memproses, dan membuat model elemen data yang dapat digunakan kembali yang dibagikan
di berbagai sumber data. Tampilan pelaporan kini mereferensikan set data K9_PROCESSING
untuk mengakses komponen yang dapat digunakan kembali ini, sehingga menyederhanakan akses data dan mengurangi redundansi. Sumber data eksternal berikut kini
di-deploy sebagai bagian dari K9, ke set data K9_PROCESSING
:
date_dimension
holiday_calendar
trends
weather
DAG yang bergantung pada SAP
DAG dependen SAP berikut masih dipicu oleh
skrip generate_external_dags.sh
, tetapi sekarang dieksekusi selama langkah build
pelaporan, dan sekarang menulis ke set data pelaporan SAP, bukan tahap
CDC (Change Data Capture).
currency_conversion
inventory_snapshots
prod_hierarchy_texts
Panduan Migrasi
Panduan ini menguraikan langkah-langkah untuk mengupgrade Foundation Data Cortex Framework Anda ke versi 5.0.
Men-deploy Cortex Framework Data Foundation 5.0
Pertama, deploy Cortex Framework Data Foundation versi terbaru (v5.0) ke project Anda, dengan panduan berikut:
- Gunakan set data RAW dan CDC yang ada dari deployment staging atau pengembangan sebelumnya sebagai set data RAW dan CDC deployment ini, karena tidak ada perubahan yang dilakukan pada set data tersebut selama deployment.
- Tetapkan
testData
danSAP.deployCDC
keFalse
diconfig/config.json
. - Buat project Pelaporan SAP baru yang terpisah dari lingkungan v4.2 yang ada untuk tujuan pengujian. Hal ini mengevaluasi proses upgrade dengan aman tanpa memengaruhi operasi Anda saat ini.
- Opsional. Jika Anda memiliki DAG Airflow aktif yang berjalan untuk versi Cortex Framework Data Foundation sebelumnya, jeda DAG tersebut sebelum melanjutkan migrasi. Hal ini dapat dilakukan melalui UI Airflow. Untuk petunjuk mendetail, lihat dokumentasi Membuka UI Airflow dari Composer dan Menjeda DAG.
Dengan mengikuti langkah-langkah ini, Anda dapat bertransisi dengan aman ke Cortex Framework Data Foundation versi 5.0 dan memvalidasi fitur dan fungsi baru.
Memigrasikan tabel yang ada
Untuk memigrasikan tabel yang ada ke lokasi barunya, gunakan jinja-cli
untuk
memformat template skrip migrasi yang disediakan guna menyelesaikan migrasi.
Instal jinja-cli dengan perintah berikut:
pip install jinja-cli
Identifikasi parameter berikut dari deployment versi 4.2 yang ada dan deployment versi 5.0 baru:
Nama Deskripsi project_id_src
Project Google Cloud Sumber: Project tempat set data SAP CDC yang ada dari deployment versi 4.2 berada. Set data K9_PROCESSING
juga dibuat dalam project ini.project_id_tgt
Target Google Cloud tempat set data Pelaporan SAP yang baru di-deploy dari deployment versi 5.0 baru berada. Hal ini mungkin berbeda dari project sumber. dataset_cdc_processed
Set Data BigQuery CDC: Set data BigQuery tempat data yang diproses CDC menyimpan data terbaru yang tersedia. Set data ini mungkin sama dengan set data sumber. dataset_reporting_tgt
Set data pelaporan BigQuery target: Set data BigQuery tempat model data standar Data Foundation for SAP di-deploy. k9_datasets_processing
Set data BigQuery K9: Set data BigQuery tempat K9 (sumber data yang ditingkatkan) di-deploy. Buat file JSON dengan data input yang diperlukan. Pastikan untuk menghapus DAG yang tidak ingin Anda migrasikan dari bagian
migrate_list
:{ "project_id_src": "your-source-project", "project_id_tgt": "your-target-project", "dataset_cdc_processed": "your-cdc-processed-dataset", "dataset_reporting_tgt": "your-reporting-target-dataset-OR-SAP_REPORTING", "k9_datasets_processing": "your-k9-processing-dataset-OR-K9_REPORTING", "migrate_list": [ "holiday_calendar", "trends", "weather", "currency_conversion", "inventory_snapshots", "prod_hierarchy_texts" ] } EOF
Misalnya, jika Anda ingin menghapus
weather
dantrends
, skrip akan terlihat seperti berikut:{ "project_id_src": "kittycorn-demo", "project_id_tgt": "kittycorn-demo", "dataset_cdc_processed": "CDC_PROCESSED", "dataset_reporting_tgt": "SAP_REPORTING", "k9_datasets_processing": "K9_PROCESSING", "migrate_list": [ "holiday_calendar", "currency_conversion", "inventory_snapshots", "prod_hierarchy_texts" ] }
Buat folder output dengan perintah berikut:
mkdir output
Buat skrip migrasi yang diuraikan dengan perintah berikut (perintah ini menganggap Anda berada di root repositori):
jinja -d data.json -o output/migrate_external_dags.sql docs/external_dag_migration/scripts/migrate_external_dags.sql
Periksa file SQL output dan jalankan di BigQuery untuk memigrasikan tabel ke lokasi baru.
Memperbarui dan melanjutkan DAG Airflow
Cadangkan File DAG saat ini di bucket Airflow Anda. Kemudian, ganti dengan file yang baru dibuat dari deployment Data Foundation Cortex Framework versi 5.0. Untuk petunjuk mendetail, lihat dokumentasi berikut:
Validasi dan pembersihan
Migrasi kini telah selesai. Sekarang Anda dapat memvalidasi bahwa semua tampilan pelaporan dalam deployment pelaporan v5.0 baru berfungsi dengan benar. Jika semuanya berfungsi dengan baik, lakukan kembali prosesnya, kali ini dengan menargetkan deployment v5.0 ke kumpulan Pelaporan produksi Anda. Setelah itu, hapus semua tabel menggunakan skrip berikut:
jinja -d data.json -o output/delete_old_dag_tables.sql docs/external_dag_migration/scripts/delete_old_dag_tables.sql