Bagikan melalui


Topik lanjutan SAP CDC

BERLAKU UNTUK: Azure Data Factory Azure Synapse Analytics

Tip

Cobalah Data Factory di Microsoft Fabric, solusi analitik all-in-one untuk perusahaan. Microsoft Fabric mencakup segala sesuatu mulai dari pergerakan data hingga ilmu data, analitik real time, kecerdasan bisnis, dan pelaporan. Pelajari cara memulai uji coba baru secara gratis!

Pelajari tentang topik lanjutan untuk konektor SAP CDC seperti integrasi data berbasis metadata, penelusuran kesalahan, dan banyak lagi.

Parametrizing aliran data pemetaan SAP CDC

Salah satu kekuatan utama alur dan pemetaan aliran data di Azure Data Factory dan Azure Synapse Analytics adalah dukungan untuk integrasi data berbasis metadata. Dengan fitur ini, dimungkinkan untuk merancang satu (atau beberapa) alur parametris yang dapat digunakan untuk menangani integrasi yang berpotensi ratusan atau bahkan ribuan sumber. Konektor SAP CDC telah dirancang dengan ingat prinsip ini: semua properti yang relevan, baik itu objek sumber, mode eksekusi, kolom kunci, dll., dapat disediakan melalui parameter untuk memaksimalkan fleksibilitas dan menggunakan kembali potensi aliran data pemetaan SAP CDC.

Untuk memahami konsep dasar aliran data pemetaan parametrizing, baca Parameterisasi aliran data pemetaan.

Di galeri templat Azure Data Factory dan Azure Synapse Analytics, Anda menemukan alur templat dan aliran data yang menunjukkan cara memparmetris penyerapan data SAP CDC.

Sumber parametrizing dan mode jalankan

Pemetaan aliran data tidak selalu memerlukan artefak Himpunan Data: transformasi sumber dan sink menawarkan jenis Sumber (atau jenis Sink) Sebaris. Dalam hal ini, semua properti sumber yang didefinisikan dalam himpunan data ADF dapat dikonfigurasi dalam opsi Sumber transformasi sumber (atau tab Pengaturan transformasi sink). Menggunakan himpunan data sebaris memberikan gambaran umum yang lebih baik dan menyederhanakan parametrizing aliran data pemetaan karena konfigurasi sumber lengkap (atau sink) dipertahankan di satu tempat.

Untuk SAP CDC, properti yang paling umum diatur melalui parameter ditemukan di tab Opsi sumber dan Optimalkan. Saat Jenis sumbersebaris, properti berikut dapat diparmetriz di opsi Sumber.

  • Konteks ODP: nilai parameter yang valid adalah
    • ABAP_CDS untuk Tampilan Abap Core Data Services
    • BW untuk SAP BW atau SAP BW/4HANA InfoProviders
    • HANA untuk Tampilan Informasi SAP Hana
    • SAPI untuk SAP DataSources/Extractors
    • ketika SAP Landscape Transformation Replication Server (SLT) digunakan sebagai sumber, nama konteks ODP adalah SLT~<Queue Alias>. Nilai Alias Antrean dapat ditemukan di bawah Data Administrasi dalam konfigurasi SLT di kokpit SLT (transaksi SAP LTRC).
    • ODP_SELF dan RANDOM adalah konteks ODP yang digunakan untuk validasi dan pengujian teknis, dan biasanya tidak relevan.
  • Nama ODP: berikan nama ODP yang ingin Anda ekstrak datanya.
  • Mode eksekusi: nilai parameter yang valid adalah
    • fullAndIncrementalLoad for Full pada eksekusi pertama, lalu bertahap, yang memulai proses pengambilan data perubahan dan mengekstrak rekam jepret data lengkap saat ini
    • fullLoad untuk Penuh pada setiap proses, yang mengekstrak rekam jepret data lengkap saat ini tanpa memulai proses pengambilan data perubahan.
    • incrementalLoadhanya untuk perubahan inkremental, yang memulai proses pengambilan data perubahan tanpa mengekstrak rekam jepret lengkap saat ini.
  • Kolom kunci: kolom kunci disediakan sebagai array string (dikutip ganda). Misalnya, ketika bekerja dengan tabel SAP VBAP (item pesanan penjualan), definisi kunci harus ["VBELN", "POSNR"] (atau ["MANDT","VBELN","POSNR"] jika bidang klien juga diperhitungkan).

Parametrizing kondisi filter untuk partisi sumber

Di tab Optimalkan , skema partisi sumber (lihat mengoptimalkan performa untuk beban penuh atau awal) dapat ditentukan melalui parameter. Biasanya, diperlukan dua langkah:

  1. Tentukan parameter untuk skema partisi sumber pada tingkat alur.
  2. Serap parameter partisi ke dalam aliran data pemetaan.

Format JSON dari skema partisi

Format di langkah 1 mengikuti standar JSON, yang terdiri dari array definisi partisi, yang masing-masing merupakan array kondisi filter individual. Kondisi ini sendiri adalah objek JSON dengan struktur yang selaras dengan apa yang disebut opsi pilihan di SAP. Bahkan, format yang diperlukan oleh kerangka kerja SAP ODP pada dasarnya sama dengan filter DTP dinamis di SAP BW:

{ "fieldName": <>, "sign": <>, "option": <>, "low": <>, "high": <> }

Misalnya

{ "fieldName": "VBELN", "sign": "I", "option": "EQ", "low": "0000001000" }

sesuai dengan klausa SQL WHERE ... WHERE "VBELN" = '0000001000', atau

{ "fieldName": "VBELN", "sign": "I", "option": "BT", "low": "0000000000", "high": "0000001000" }

sesuai dengan klausa SQL WHERE ... DI MANA "VBELN" ANTARA '0000000000' DAN '0000001000'

Definisi JSON dari skema partisi yang berisi dua partisi sehingga terlihat sebagai berikut

[
    [
        { "fieldName": "GJAHR", "sign": "I", "option": "BT", "low": "2011", "high": "2015" }
    ],
    [
        { "fieldName": "GJAHR", "sign": "I", "option": "BT", "low": "2016", "high": "2020" }
    ]
]

di mana partisi pertama berisi tahun fiskal (GJAHR) 2011 hingga 2015, dan partisi kedua berisi tahun fiskal 2016 hingga 2020.

Catatan

Azure Data Factory tidak melakukan pemeriksaan apa pun pada kondisi ini. Misalnya, pengguna bertanggung jawab untuk memastikan bahwa kondisi partisi tidak tumpang tindih.

Kondisi partisi bisa lebih kompleks, terdiri dari beberapa kondisi filter dasar itu sendiri. Tidak ada konjungsi logis yang secara eksplisit menentukan cara menggabungkan beberapa kondisi dasar dalam satu partisi. Definisi implisit dalam SAP adalah sebagai berikut (hanya untuk menyertakan pilihan, yaitu, "sign": "I" - untuk dikecualikan):

  1. termasuk kondisi ("sign": "I") untuk nama bidang yang sama dikombinasikan dengan OR (secara mental, letakkan tanda kurung di sekitar kondisi yang dihasilkan)
  2. tidak termasuk kondisi ("sign": "E") untuk nama bidang yang sama digabungkan dengan OR (sekali lagi, secara mental, menempatkan tanda kurung di sekitar kondisi yang dihasilkan)
  3. kondisi yang dihasilkan dari langkah 1 dan 2 adalah
    • dikombinasikan dengan AND untuk menyertakan kondisi,
    • dikombinasikan dengan DAN TIDAK untuk mengecualikan kondisi.

Sebagai contoh, kondisi partisi

    [
        { "fieldName": "BUKRS", "sign": "I", "option": "EQ", "low": "1000" },
        { "fieldName": "GJAHR", "sign": "I", "option": "BT", "low": "2020", "high": "2025" },
        { "fieldName": "GJAHR", "sign": "E", "option": "EQ", "low": "2023" }
    ]

sesuai dengan klausa SQL WHERE ... DI MANA ("BUKRS" = '1000') DAN ("GJAHR" ANTARA '2020' DAN '2025') DAN BUKAN ("GJAHR" = '2023')

Catatan

Pastikan untuk menggunakan format internal SAP untuk nilai rendah dan tinggi, termasuk nol di depannya, dan tanggal kalender ekspres sebagai string delapan karakter dengan format "YYYYMMDD".

Menyerap parameter partisi ke dalam aliran data pemetaan

Untuk menyerap skema partisi ke dalam aliran data pemetaan, buat parameter aliran data (misalnya, "sapPartitions"). Untuk meneruskan format JSON ke parameter ini, format tersebut harus dikonversi ke string menggunakan fungsi @string( ):

Cuplikan layar memperlihatkan cara menyerap skema partisi ke dalam aliran data pemetaan.

Terakhir, di tab optimalkan transformasi sumber dalam aliran data pemetaan Anda, pilih Jenis partisi "Sumber", dan masukkan parameter aliran data di properti Kondisi partisi .

Cuplikan layar memperlihatkan cara menggunakan parameter partisi di tab optimalkan transformasi sumber.

Parametrizing Kunci Titik Pemeriksaan

Saat menggunakan aliran data parametris untuk mengekstrak data dari beberapa sumber SAP CDC, penting untuk memaparkan Kunci Titik Pemeriksaan dalam aktivitas aliran data alur Anda. Kunci titik pemeriksaan digunakan oleh Azure Data Factory untuk mengelola status proses pengambilan data perubahan. Untuk menghindari bahwa status satu proses CDC menimpa status yang lain, pastikan bahwa nilai kunci titik pemeriksaan unik untuk setiap set parameter yang digunakan dalam aliran data.

Catatan

Praktik terbaik untuk memastikan keunikan Kunci Titik Pemeriksaan adalah menambahkan nilai kunci titik pemeriksaan ke kumpulan parameter untuk aliran data Anda.

Untuk informasi selengkapnya tentang kunci titik pemeriksaan, lihat Mengubah data dengan konektor SAP CDC.

Awakutu

Azure Data Factory alur dapat dijalankan melalui eksekusi yang dipicu atau debug. Perbedaan mendasar antara kedua opsi ini adalah, debug yang dijalankan menjalankan aliran data dan alur berdasarkan versi saat ini yang dimodelkan di antarmuka pengguna, sementara eksekusi yang dipicu menjalankan versi terakhir yang diterbitkan dari aliran data dan alur.

Untuk SAP CDC, ada satu aspek lagi yang perlu dipahami: untuk menghindari dampak debug berjalan pada proses penangkapan data perubahan yang ada, eksekusi debug menggunakan nilai "proses pelanggan" yang berbeda (lihat Memantau aliran data SAP CDC) daripada eksekusi yang dipicu. Dengan demikian, mereka membuat langganan terpisah (yaitu, mengubah proses pengambilan data) dalam sistem SAP. Selain itu, nilai "proses pelanggan" untuk eksekusi debug memiliki waktu hidup terbatas pada sesi UI browser.

Catatan

Untuk menguji stabilitas proses pengambilan data perubahan dengan SAP CDC dalam jangka waktu yang lebih lama (misalnya, beberapa hari), aliran data dan alur perlu diterbitkan, dan eksekusi yang dipicu perlu dijalankan.