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_dimensionholiday_calendartrendsweather
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_conversioninventory_snapshotsprod_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
testDatadanSAP.deployCDCkeFalsediconfig/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-cliIdentifikasi parameter berikut dari deployment versi 4.2 yang ada dan deployment versi 5.0 baru:
Nama Deskripsi project_id_srcProject Google Cloud Sumber: Project tempat set data SAP CDC yang ada dari deployment versi 4.2 berada. Set data K9_PROCESSINGjuga dibuat dalam project ini.project_id_tgtTarget 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_processedSet 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_tgtSet data pelaporan BigQuery target: Set data BigQuery tempat model data standar Data Foundation for SAP di-deploy. k9_datasets_processingSet 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" ] } EOFMisalnya, jika Anda ingin menghapus
weatherdantrends, 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 outputBuat 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.sqlPeriksa 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