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:

  1. 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.
  2. Tetapkan testData dan SAP.deployCDC ke False di config/config.json.
  3. 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.
  4. 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.

  1. Instal jinja-cli dengan perintah berikut:

    pip install jinja-cli
    
  2. 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.
  3. 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 dan trends, 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"
        ]
        }
    
  4. Buat folder output dengan perintah berikut:

      mkdir output
    
  5. 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
    
  6. 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