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 mengimplementasikan DAG Eksternal di versi Cortex Framework Data Foundation sebelumnya (4.2 hingga 5.0) dan kini melakukan upgrade. 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 ke workload tertentu (seperti konversi mata uang untuk SAP). Namun, dengan versi 5.0, flag ini telah dihapus. Sekarang, ada modul baru yang didedikasikan untuk mengelola DAG yang dapat melayani beberapa workload. Panduan ini menguraikan langkah-langkah untuk menyesuaikan pipeline data yang ada agar dapat berfungsi dengan struktur baru ini.
DAG yang dapat digunakan kembali di seluruh workload
Cortex Framework Data Foundation v5.0 memperkenalkan K9, komponen baru yang bertanggung jawab untuk menyerap, memproses, dan memodelkan elemen data yang dapat digunakan kembali dan 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 dalam set data K9_PROCESSING:
date_dimensionholiday_calendartrendsweather
DAG yang bergantung pada SAP
DAG yang bergantung pada SAP berikut masih dipicu oleh skrip generate_external_dags.sh, tetapi kini dieksekusi selama langkah build pelaporan, dan kini ditulis ke dalam set data pelaporan SAP, bukan tahap CDC (Change Data Capture).
currency_conversioninventory_snapshotsprod_hierarchy_texts
Panduan Migrasi
Panduan ini menguraikan langkah-langkah untuk mengupgrade Cortex Framework Data Foundation ke versi 5.0.
Men-deploy Cortex Framework Data Foundation 5.0
Pertama, deploy versi terbaru (v5.0) Cortex Framework Data Foundation ke project Anda, dengan panduan berikut:
- Gunakan set data RAW dan CDC yang ada dari deployment pengembangan atau staging sebelumnya sebagai set data RAW dan CDC dari deployment ini, karena tidak ada modifikasi 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 akan 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 mengetahui 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 yang baru:
<td"> Nama <td"> Deskripsi </td"></td"><td">project_id_src<td"> Source Google Cloud Project: Project tempat set data SAP CDC yang ada dari deployment versi 4.2 berada. DatasetK9_PROCESSINGjuga dibuat di project ini. </td"></td"><td">project_id_tgt<td"> Target Google Cloud tempat set data Pelaporan SAP yang baru di-deploy dari deployment versi 5.0 yang baru berada. Project ini mungkin berbeda dengan project sumber. </td"></td"><td">dataset_cdc_processed<td"> CDC BigQuery Dataset: Set data BigQuery tempat data yang diproses CDC berada, yaitu data yang berisi data terbaru yang tersedia. Set data ini mungkin sama dengan set data sumber. </td"></td"><td">dataset_reporting_tgt<td"> Set data BigQuery pelaporan target: Set data BigQuery tempat model data yang telah ditentukan sebelumnya untuk SAP Data Foundation di-deploy. </td"></td"><td">k9_datasets_processing<td"> K9 BigQuery dataset: Set data BigQuery tempat K9 (sumber data yang diperluas) di-deploy. </td"></td">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, skripnya 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 mengasumsikan 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.
Mengupdate dan melanjutkan DAG Airflow
Cadangkan File DAG saat ini di bucket Airflow Anda. Kemudian, ganti dengan file yang baru dibuat dari deployment Cortex Framework Data Foundation versi 5.0. Untuk mengetahui 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, ulangi prosesnya, kali ini targetkan deployment v5.0 ke set Pelaporan produksi Anda. Setelah itu, Anda dapat menghapus 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