Pembuatan modul fondasi data
Pembuatan modul fondasi data kustom hanya diperlukan jika Anda perlu menentukan perilaku build kustom atau memperluas dukungan ke sistem sumber baru (seperti Salesforce) yang tidak didukung secara langsung.
Sebelum memulai, pastikan tabel sumber yang akan diproses ada dalam set data lapisan mentah.
Saat menggunakan modul fondasi data SAP, pastikan tabel DD03L yang direplikasi berisi rekaman metadata yang diperlukan untuk tabel apa pun yang akan Anda serap (termasuk tabel kustom atau tambahan). Untuk mengetahui persyaratan mendetail, lihat Persyaratan metadata SAP ERP.
Saat membuat modul atau namespace fondasi data kustom, sebaiknya gunakan namespace kustom khusus untuk meningkatkan pengelolaan siklus proses dengan memisahkan ekstensi dan penyesuaian dari artefak Cortex Framework.
Pembuatan modul fondasi data baru
Untuk definisi modul fondasi data, ikuti langkah-langkah berikut:
- Di file
config/config.yaml, tambahkan konfigurasi set data target kedata.targets. Tindakan ini akan menyiapkan set data BigQuery khusus yang akan digunakan untuk men-deploy tabel fondasi:
[...]
data:
[...]
targets:
- id: data_foundation_sap_custom_namespace
# Google Cloud Project ID for the target dataset.
projectId: target_project_id
# BigQuery dataset ID for the target.
datasetId: data_foundation_sap_custom_namespace
- Untuk menentukan modul fondasi data, tambahkan hal berikut ke bagian
modules.foundationdalam fileconfig/config.yaml:
[...]
data:
[...]
modules:
foundation:
[...]
- moduleId: foundation_module_id
type: cortex.sap
dataSourceId: sap_raw_s4
dataTargetId: data_foundation_sap_custom_namespace
moduleSettings:
sapVersion: s4
mandt: "100"
tableSettings: "table_settings.yaml"
# Optional. Path to custom table settings configuration relative to this config file, e.g., `config/custom_namespace_path/data_foundation/sap/table_settings.yaml`
# If omitted, defaults to src/data_modules/cortex/data_foundation/sap/table_settings.default.yaml.
- Alternatif: jika menggunakan tabel CDC yang diproses eksternal sebagai fondasi data, sesuaikan bagian
modules.foundationdalam fileconfig/config.yamldenganexternal: truedan hapusdataTargetId:
[...]
data:
[...]
modules:
foundation:
[...]
- moduleId: foundation_module_id
type: cortex.sap
dataSourceId: sap_raw_s4
external: true
moduleSettings:
sapVersion: s4
mandt: "100"
tableSettings: "table_settings.yaml"
# Optional. Path to custom table settings configuration relative to this config file, e.g., `config/custom_namespace_path/data_foundation/sap/table_settings.yaml`
# If omitted, defaults to src/data_modules/cortex/data_foundation/sap/table_settings.default.yaml.
- Buat file
tableSettingsdalam konfigurasi yang direferensikan, yang menentukan tabel mana dari set data lapisan mentah yang akan diubah menjadi lapisan fondasi data.
common:
- source:
tableName: custom_sap_table_name
target:
tags: [sap, s4, hourly]
clusterDetails:
columns: [carrid, connid]
partitionDetails:
column: fldate
partitionType: time
timeGrain: day
Contoh modul fondasi data
Contoh berikut mendaftarkan modul fondasi data kustom baru yang memproses tabel sflight ke namespace kustom sap_bookingdatamodel.
Mendaftarkan modul fondasi data baru.
data:
targets:
- id: data_foundation_sap_bookingdatamodel
projectId: target_project_id
datasetId: data_foundation_sap_bookingdatamodel
modules:
foundation:
- moduleId: sap_bookingdatamodel
type: sap_bookingdatamodel.sap
dataSourceId: sap_raw_s4
dataTargetId: data_foundation_sap_sap_bookingdatamodel
moduleSettings:
sapVersion: s4
mandt: "100"
tableSettings: "table_settings.yaml"
Membuat table_settings.yaml
Buat file setelan tabel: config/sap_bookingdatamodel/data_foundation/sap/table_settings.yaml dengan konten ini:
common:
- source:
tableName: sflight
target:
tags: [sap, s4, hourly]
clusterDetails:
columns: [carrid, connid]
partitionDetails:
column: fldate
partitionType: time
timeGrain: day
Karena tabel memiliki tata letak yang sama untuk dialek SAP ECC dan S/4HANA, tabel ini adalah elemen turunan dari bagian common:.
Buat file anotasi untuk setiap tabel, yang digunakan untuk memperkaya skema dengan metadata.
Dalam skenario contoh, kita membuat src/data_modules/sap_bookingdatamodel/data_foundation/sap/annotations/sflight.yaml, dengan konten ini:
description: "transparent table FLIGHT, part of the Basis Components Module, BC-DWB-TND (Training and Demo)."
fields:
- name: "mandt"
description: "Client"
- name: "carrid"
description: "Airline Code"
- name: "connid"
description: "Flight Connection Number"
- name: "fldate"
description: "Flight date"
- name: "price"
description: "Airfare"
- name: "currency"
description: "Local currency of airline"
- name: "planetype"
description: "Aircraft Type"
- name: "seatsmax"
description: "Maximum capacity in economy class"
- name: "seatsocc"
description: "Occupied seats in economy class"
- name: "paymentsum"
description: "Total of current bookings"
- name: "seatsmax_b"
description: "Maximum capacity in business class"
- name: "seatsocc_b"
description: "Occupied seats in business class"
- name: "seatsmax_f"
description: "Maximum capacity in first class"
- name: "seatsocc_f"
description: "Occupied seats in first class"
Untuk memverifikasi bahwa modul fondasi data kustom berhasil dikompilasi dan di-deploy, lihat bagian Verifikasi di halaman ekstensibilitas produk data.
- Langkah sebelumnya: Menyiapkan namespace kustom
- Langkah berikutnya: Pembuatan modul produk data
- Kembali ke Ringkasan