SAP CDC gelişmiş konuları
UYGULANANLAR: Azure Data Factory Azure Synapse Analytics
İpucu
Kuruluşlar için hepsi bir arada analiz çözümü olan Microsoft Fabric'te Data Factory'yi deneyin. Microsoft Fabric , veri taşımadan veri bilimine, gerçek zamanlı analize, iş zekasına ve raporlamaya kadar her şeyi kapsar. Yeni bir deneme sürümünü ücretsiz olarak başlatmayı öğrenin!
SAP CDC bağlayıcısı için meta veri temelli veri tümleştirmesi, hata ayıklama ve daha fazlası gibi gelişmiş konular hakkında bilgi edinin.
SAP CDC eşleme veri akışında parametrizing
Azure Data Factory ve Azure Synapse Analytics'teki işlem hatlarının ve eşleme veri akışlarının temel güçlü yönlerinden biri meta veri temelli veri tümleştirme desteğidir. Bu özellik sayesinde, potansiyel olarak yüzlerce, hatta binlerce kaynağın tümleştirmesini işlemek için kullanılabilecek tek bir (veya birkaç) parametrized işlem hattı tasarlamak mümkündür. SAP CDC bağlayıcısı bu ilke göz önünde bulundurularak tasarlanmıştır: Kaynak nesne, çalışma modu, anahtar sütunlar vb. tüm ilgili özellikler, esnekliği en üst düzeye çıkarmak ve SAP CDC eşleme veri akışlarının potansiyelini yeniden kullanmak için parametreler aracılığıyla sağlanabilir.
Eşleme veri akışlarını parametreleştirmenin temel kavramlarını anlamak için eşleme veri akışlarını parametreleştirme makalesini okuyun.
Azure Data Factory ve Azure Synapse Analytics'in şablon galerisinde SAP CDC veri alımının nasıl parametrize edilebileceğinizi gösteren bir şablon işlem hattı ve veri akışı bulabilirsiniz.
Parametrizing kaynağı ve çalıştırma modu
Eşleme veri akışları veri kümesi yapıtı gerektirmez: hem kaynak hem de havuz dönüştürmeleri bir Kaynak türü (veya Havuz türü) Satır içi sunar. Bu durumda, bir ADF veri kümesinde aksi halde tanımlanan tüm kaynak özellikleri, kaynak dönüştürmenin Kaynak seçeneklerinde (veya havuz dönüştürmesinin Ayarlar sekmesinde) yapılandırılabilir. Satır içi veri kümesi kullanmak daha iyi bir genel bakış sağlar ve tam kaynak (veya havuz) yapılandırması tek bir yerde tutuldığından eşleme veri akışının parametrisini basitleştirir.
SAP CDC için, parametreler aracılığıyla en yaygın olarak ayarlanan özellikler Kaynak seçenekleri ve İyileştir sekmelerinde bulunur. Kaynak türü Satır içi olduğunda, Kaynak seçeneklerinde aşağıdaki özellikler parametrizlenebilir.
- ODP bağlamı: geçerli parametre değerleri şunlardır:
- ABAP Core Data Services Görünümleri için ABAP_CDS
- SAP BW veya SAP BW/4HANA InfoProviders için BW
- SAP HANA bilgi görünümleri için HANA
- SAP DataSources/Extractors için SAPI
- SAP Yatay Dönüşüm Çoğaltma Sunucusu (SLT) kaynak olarak kullanıldığında, ODP bağlam adı SLT~<Kuyruk Diğer Adı> olur. Kuyruk Diğer Adı değeri SLT kokpitindeki SLT yapılandırmasında Yönetim Verileri altında bulunabilir (SAP işlemi LTRC).
- ODP_SELF ve RANDOM, teknik doğrulama ve test için kullanılan ODP bağlamlarıdır ve genellikle ilgili değildir.
- ODP adı: Verileri ayıklamak istediğiniz ODP adını belirtin.
- Çalıştırma modu: geçerli parametre değerleri şunlardır:
- İlk çalıştırmada Full için fullAndIncrementalLoad, ardından değişiklik verisi yakalama işlemini başlatan ve geçerli bir tam veri anlık görüntüsünü ayıklayan artımlı.
- Her çalıştırmada Full için fullLoad, değişiklik verisi yakalama işlemi başlatmadan geçerli bir tam veri anlık görüntüsünü ayıklar.
- yalnızca Artımlı değişiklikler için incrementalLoad, geçerli bir tam anlık görüntü ayıklamadan bir değişiklik verisi yakalama işlemi başlatır.
- Anahtar sütunlar: Anahtar sütunları bir dizi (çift tırnaklı) dize olarak sağlanır. Örneğin, SAP tablosu VBAP (satış siparişi öğeleri) ile çalışırken, istemci alanının da dikkate alınması durumunda anahtar tanımının ["VBELN", "POSNR"] (veya ["MANDT","VBELN","POSNR"] olması gerekir).
Kaynak bölümleme için filtre koşullarını parametrizing
İyileştir sekmesinde, bir kaynak bölümleme düzeni (bkz. tam veya ilk yüklemeler için performansı iyileştirme) parametreler aracılığıyla tanımlanabilir. Genellikle iki adım gerekir:
- Kaynak bölümleme düzenini tanımlayın.
- Bölümleme parametresini eşleme veri akışına alın.
Kaynak bölümleme düzeni tanımlama
1. adımdaki biçim, her biri ayrı filtre koşulları dizisi olan bir bölüm tanımları dizisini içeren JSON standardını izler. Bu koşullar, SAP'de seçim seçenekleri olarak adlandırılan bir yapıya sahip JSON nesneleridir. Aslında, SAP ODP çerçevesi için gereken biçim temelde SAP BW'daki dinamik DTP filtreleri ile aynıdır:
{ "fieldName": <>, "sign": <>, "option": <>, "low": <>, "high": <> }
Örneğin:
{ "fieldName": "VBELN", "sign": "I", "option": "EQ", "low": "0000001000" }
bir SQL WHERE yan tümcesine karşılık gelir... WHERE "VBELN" = '0000001000' veya
{ "fieldName": "VBELN", "sign": "I", "option": "BT", "low": "0000000000", "high": "0000001000" }
bir SQL WHERE yan tümcesine karşılık gelir... WHERE "VBELN" BETWEEN '0000000000' VE '0000001000'
İki bölüm içeren bir bölümleme düzeninin JSON tanımı aşağıdaki gibi görünür
[
[
{ "fieldName": "GJAHR", "sign": "I", "option": "BT", "low": "2011", "high": "2015" }
],
[
{ "fieldName": "GJAHR", "sign": "I", "option": "BT", "low": "2016", "high": "2020" }
]
]
burada ilk bölüm 2011 ile 2015 arasındaki mali yılları (GJAHR) ve ikinci bölüm 2016 ile 2020 arasındaki mali yılları içerir.
Not
Azure Data Factory bu koşullar üzerinde herhangi bir denetim gerçekleştirmez. Örneğin, bölüm koşullarının çakışmadığından emin olmak kullanıcının sorumluluğundadır.
Bölüm koşulları, birden çok temel filtre koşulundan oluşan daha karmaşık olabilir. Bir bölümde birden çok temel koşulun nasıl birleştirildiğini açıkça tanımlayan mantıksal bağlaç yoktur. SAP'deki örtük tanım aşağıdaki gibidir:
- aynı alan adı için koşullar dahil ("işaret": "I"), OR ile birleştirilir (zihinsel olarak, sonuçta ortaya çıkan koşulun etrafına köşeli ayraç koyun)
- aynı alan adı için koşullar hariç ("işaret": "E"), OR ile birleştirilir (yine, zihinsel olarak, sonuçta ortaya çıkan koşulun etrafına köşeli ayraç koyun)
- 1. ve 2. adımların ortaya çıkan koşulları şunlardır:
- koşullar dahil olmak üzere VE ile birlikte,
- ve DEĞİl ile birlikte koşullar hariç tutularak.
Örnek olarak bölüm koşulu
[
{ "fieldName": "BUKRS", "sign": "I", "option": "EQ", "low": "1000" },
{ "fieldName": "BUKRS", "sign": "I", "option": "EQ", "low": "1010" },
{ "fieldName": "GJAHR", "sign": "I", "option": "BT", "low": "2010", "high": "2025" },
{ "fieldName": "GJAHR", "sign": "E", "option": "EQ", "low": "2023" },
{ "fieldName": "GJAHR", "sign": "E", "option": "EQ", "low": "2021" }
]
bir SQL WHERE yan tümcesine karşılık gelir... WHERE ("BUKRS" = '1000' VEYA "BUKRS" = '1010') AND ("GJAHR" BETWEEN '2010' AND '2025') AND NOT ("GJAHR" = '2021' veya "GJARH" = '2023')
Not
Düşük ve yüksek değerler için SAP iç biçimini kullandığınızdan, baştaki sıfırları eklediğinizden ve takvim tarihlerini "YYYYYMMDD" biçiminde sekiz karakterli bir dize olarak ifade etmeye özen gösterin.
Bölümleme parametresini eşleme veri akışına alma
Bölümleme düzenini bir eşleme veri akışına almak için bir veri akışı parametresi (örneğin, "sapPartitions") oluşturun. JSON biçimini bu parametreye geçirmek için, @string() işlevi kullanılarak bir dizeye dönüştürülmesi gerekir:
Son olarak, eşleme veri akışınızdaki kaynak dönüştürmenin en iyi duruma getirme sekmesinde Bölüm türü "Kaynak" öğesini seçin ve Bölüm koşulları özelliğine veri akışı parametresini girin.
Denetim Noktası Anahtarını Parametrizing
Birden çok SAP CDC kaynağından veri ayıklamak için parametrize edilmiş bir veri akışı kullanırken, işlem hattınızın veri akışı etkinliğinde Denetim Noktası Anahtarı'nı parametrize etmek önemlidir. Denetim noktası anahtarı, değişiklik verisi yakalama işleminin durumunu yönetmek için Azure Data Factory tarafından kullanılır. Bir CDC işleminin durumunun başka bir cdc işleminin durumunun üzerine yazılmasını önlemek için, denetim noktası anahtar değerlerinin veri akışında kullanılan her parametre kümesi için benzersiz olduğundan emin olun.
Not
Denetim Noktası Anahtarının benzersiz olduğundan emin olmak için en iyi yöntem, denetim noktası anahtarı değerini veri akışınızın parametreleri kümesine eklemektir.
Denetim noktası anahtarı hakkında daha fazla bilgi için bkz . SAP CDC bağlayıcısı ile verileri dönüştürme.
Hata ayıklama
Azure Data Factory işlem hatları tetiklenen veya hata ayıklama çalıştırmalarıyla yürütülebilir. Bu iki seçenek arasındaki temel farklardan biri, hata ayıklama çalıştırmalarının kullanıcı arabiriminde modellenen geçerli sürümü temel alarak veri akışını ve işlem hattını yürütmesi, tetiklenen çalıştırmaların ise veri akışı ve işlem hattının son yayımlanan sürümünü yürütmesidir.
SAP CDC için anlaşılması gereken bir yön daha vardır: Hata ayıklama çalıştırmalarının mevcut değişiklik verileri yakalama işlemi üzerindeki etkisini önlemek için, hata ayıklama çalıştırmaları tetiklenen çalıştırmalardan farklı bir "abone işlemi" değeri kullanır (bkz . SAP CDC veri akışlarını izleme). Böylece SAP sistemi içinde ayrı abonelikler (yani veri yakalama işlemlerini değiştirme) oluştururlar. Ayrıca, hata ayıklama çalıştırmaları için "abone işlemi" değeri, tarayıcı kullanıcı arabirimi oturumuyla sınırlı bir yaşam süresine sahiptir.
Not
SAP CDC ile değişiklik verisi yakalama işleminin kararlılığını daha uzun bir süre (örneğin, birden çok gün) test etmek için veri akışının ve işlem hattının yayımlanması ve tetiklenen çalıştırmaların yürütülmesi gerekir.