Azure Data Factory veya Synapse Analytics kullanarak Open Hub aracılığıyla SAP Business Warehouse'dan veri kopyalama
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!
Bu makalede, Sap Business Warehouse'dan (BW) Open Hub aracılığıyla veri kopyalamak için Azure Data Factory ve Synapse Analytics işlem hatlarında Kopyalama Etkinliği'nin nasıl kullanılacağı özetlenmiştir. Kopyalama etkinliğine genel bir genel bakış sunan kopyalama etkinliğine genel bakış makalesini oluşturur.
İpucu
SAP veri tümleştirme senaryosuna yönelik genel destek hakkında bilgi edinmek için bkz . SAP veri tümleştirmesi teknik incelemesi ve her SAP bağlayıcısı hakkında ayrıntılı giriş, karşılaştırma ve rehberlik.
Desteklenen özellikler
Bu SAP Business Warehouse Open Hub bağlayıcısı aşağıdaki özellikler için desteklenir:
Desteklenen özellikler | IR |
---|---|
Kopyalama etkinliği (kaynak/-) | (2) |
Arama etkinliği | (2) |
(1) Azure tümleştirme çalışma zamanı (2) Şirket içinde barındırılan tümleştirme çalışma zamanı
Kopyalama etkinliği tarafından kaynak/havuz olarak desteklenen veri depolarının listesi için Desteklenen veri depoları tablosuna bakın.
Özellikle, bu SAP Business Warehouse Open Hub bağlayıcısı şunları destekler:
- SAP Business Warehouse sürüm 7.01 veya üzeri (2015 yılından sonra yayımlanan son SAP Destek Paketi Yığınında). SAP BW/4HANA bu bağlayıcı tarafından desteklenmez.
- Altında DSO, InfoCube, MultiProvider, DataSource vb. olabilecek Open Hub Hedef yerel tablosu aracılığıyla veri kopyalama.
- Temel kimlik doğrulaması kullanarak veri kopyalama.
- SAP uygulama sunucusuna veya SAP ileti sunucusuna bağlanma.
- RFC aracılığıyla veri alınıyor.
SAP BW Open Hub Tümleştirmesi
SAP BW Open Hub Hizmeti , SAP BW'dan veri ayıklamanın verimli bir yoludur. Aşağıdaki diyagramda müşterilerin SAP sisteminde sahip olduğu tipik akışlardan biri gösterilmektedir ve bu durumda SAP ECC - PSA -> DSO ->> Küp veri akışları gösterilmektedir.
SAP BW Open Hub Destination (OHD), SAP verilerinin geçirildiği hedefi tanımlar. SAP Veri Aktarım İşlemi (DTP) tarafından desteklenen tüm nesneler DSO, InfoCube, DataSource gibi açık hub veri kaynakları olarak kullanılabilir. Geçirilen verilerin depolandığı Açık Hub Hedef türü veritabanı tabloları (yerel veya uzak) ve düz dosyalar olabilir. Bu SAP BW Open Hub bağlayıcısı, BW'daki OHD yerel tablosundan veri kopyalamayı destekler. Başka türler kullanıyorsanız, diğer bağlayıcıları kullanarak veritabanına veya dosya sistemine doğrudan bağlanabilirsiniz.
Delta ayıklama akışı
SAP BW Open Hub Bağlayıcısı iki isteğe bağlı özellik sunar: excludeLastRequest
ve baseRequestId
Open Hub'dan değişiklik yükünü işlemek için kullanılabilir.
- excludeLastRequestId: Son isteğin kayıtlarının dışlanıp dışlanmayacağı. Varsayılan değeri, doğrudur.
- baseRequestId: Delta yükleme isteğinin kimliği. Ayarlandıktan sonra, yalnızca bu özelliğin değerinden daha büyük requestId değerine sahip veriler alınır.
Genel olarak, SAP InfoProviders'dan ayıklama iki adımdan oluşur:
SAP BW Veri Aktarım İşlemi (DTP) Bu adım, verileri SAP BW InfoProvider'dan SAP BW Open Hub tablosuna kopyalar
Veri kopyalama Bu adımda Open Hub tablosu bağlayıcı tarafından okunur
İlk adımda bir DTP yürütülür. Her yürütme yeni bir SAP istek kimliği oluşturur. İstek kimliği Open Hub tablosunda depolanır ve ardından bağlayıcı tarafından deltayı tanımlamak için kullanılır. İki adım zaman uyumsuz olarak çalışır: DTP SAP tarafından tetiklendiğinde ve veri kopyası hizmet aracılığıyla tetiklendiğinde.
Varsayılan olarak, hizmet Open Hub tablosundan en son deltayı okumaz ("son isteği hariç tut" seçeneği doğrudur). Bu sayede hizmetteki veriler Open Hub tablosundaki verilerle %100 güncel değildir (son değişiklik eksiktir). Buna karşılık, bu yordam zaman uyumsuz ayıklama nedeniyle hiçbir satırın kaybolmamasını sağlar. DTP aynı tabloya yazmaya devam ederken hizmet Open Hub tablosunu okurken bile düzgün çalışır.
En fazla kopyalanan istek kimliğini genellikle hizmet tarafından son çalıştırmada bir hazırlama veri deposunda (yukarıdaki diyagramda Azure Blob gibi) depolarsınız. Bu nedenle, aynı istek sonraki çalıştırmada hizmet tarafından ikinci kez okunmuyor. Bu arada, verilerin Open Hub tablosundan otomatik olarak silinmediğini unutmayın.
Düzgün değişiklik işleme için, aynı Open Hub tablosunda farklı DTP'lerden istek kimliklerinin olması yasaktır. Bu nedenle, her Open Hub Hedefi (OHD) için birden fazla DTP oluşturmamalısınız. Aynı InfoProvider'dan Tam ve Delta ayıklaması gerektiğinde, aynı InfoProvider için iki OHD oluşturmanız gerekir.
Önkoşullar
Bu SAP Business Warehouse Open Hub bağlayıcısını kullanmak için şunları yapmanız gerekir:
3.13 veya üzeri bir sürümle Şirket İçinde Barındırılan Tümleştirme Çalışma Zamanı ayarlayın. Ayrıntılar için şirket içinde barındırılan Integration Runtime makalesine bakın.
SAP'nin web sitesinden 64 bit SAP .NET Connector 3.0'ı indirin ve şirket içinde barındırılan IR makinesine yükleyin. Yüklerken, isteğe bağlı kurulum adımları penceresinde, aşağıdaki görüntüde gösterildiği gibi Derlemeleri GAC'ye Yükle seçeneğini belirlediğinizden emin olun.
BW bağlayıcısında kullanılan SAP kullanıcısının aşağıdaki izinlere sahip olması gerekir:
- RFC ve SAP BW için yetkilendirme.
- "S_SDSAUTH" Yetkilendirme Nesnesinin "Yürütme" Etkinliğine yönelik izinler.
"Teknik Anahtar" seçeneği işaretli olarak Veritabanı Tablosu olarak SAP Open Hub Hedef türü oluşturun. Gerekli olmasa da Tablodaki Verileri Silme seçeneğinin işaretsiz olarak bırakılması da önerilir. Açık hub hedef tablosuna seçtiğiniz kaynak nesneden (küp gibi) veri almak için DTP'yi (doğrudan yürüt veya mevcut işlem zinciriyle tümleştirin) kullanın.
Başlarken
İpucu
SAP BW Open Hub bağlayıcısını kullanma kılavuzu için bkz . SAP Business Warehouse'dan (BW) veri yükleme.
İşlem hattıyla Kopyalama etkinliği gerçekleştirmek için aşağıdaki araçlardan veya SDK'lardan birini kullanabilirsiniz:
- Veri Kopyalama aracı
- Azure portal
- .NET SDK'sı
- Python SDK'sı
- Azure PowerShell
- The REST API
- Azure Resource Manager şablonu
Aşağıdaki bölümlerde SAP Business Warehouse Open Hub bağlayıcısına özgü varlıkları tanımlamak için kullanılan özelliklerle ilgili ayrıntılar sağlanır.
Bağlı hizmet özellikleri
SAP Business Warehouse Open Hub bağlı hizmeti için aşağıdaki özellikler desteklenir:
Özellik | Açıklama | Gerekli |
---|---|---|
Tür | Tür özelliği şu şekilde ayarlanmalıdır: SapOpenHub | Yes |
sunucu | SAP BW örneğinin bulunduğu sunucunun adı. | Yes |
systemNumber | SAP BW sisteminin sistem numarası. İzin verilen değer: dize olarak temsil edilen iki basamaklı ondalık sayı. |
Yes |
messageServer | SAP ileti sunucusunun ana bilgisayar adı. SAP ileti sunucusuna bağlanmak için kullanın. |
Hayır |
messageServerService | İleti sunucusunun hizmet adı veya bağlantı noktası numarası. SAP ileti sunucusuna bağlanmak için kullanın. |
Hayır |
systemId | Tablonun bulunduğu SAP sisteminin kimliği. SAP ileti sunucusuna bağlanmak için kullanın. |
Hayır |
logonGroup | SAP sisteminin oturum açma grubu. SAP ileti sunucusuna bağlanmak için kullanın. |
Hayır |
clientId | SAP W sistemindeki istemcinin istemci kimliği. İzin verilen değer: Dize olarak temsil edilen üç basamaklı ondalık sayı. |
Yes |
dil | SAP sisteminin kullandığı dil. | Hayır (varsayılan değer EN'dir) |
userName | SAP sunucusuna erişimi olan kullanıcının adı. | Yes |
password | Kullanıcının parolası. Güvenli bir şekilde depolamak için bu alanı SecureString olarak işaretleyin veya Azure Key Vault'ta depolanan bir gizli diziye başvurun. | Yes |
connectVia | Veri deposuna bağlanmak için kullanılacak Integration Runtime. Önkoşullar bölümünde belirtildiği gibi şirket içinde barındırılan tümleştirme çalışma zamanı gereklidir. | Yes |
Örnek:
{
"name": "SapBwOpenHubLinkedService",
"properties": {
"type": "SapOpenHub",
"typeProperties": {
"server": "<server name>",
"systemNumber": "<system number>",
"clientId": "<client id>",
"userName": "<SAP user>",
"password": {
"type": "SecureString",
"value": "<Password for SAP user>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Veri kümesi özellikleri
Veri kümelerini tanımlamak için kullanılabilen bölümlerin ve özelliklerin tam listesi için Veri kümeleri makalesine bakın. Bu bölümde SAP BW Open Hub veri kümesi tarafından desteklenen özelliklerin listesi sağlanır.
SAP BW Open Hub'dan ve sap bw'ye veri kopyalamak için veri kümesinin tür özelliğini SapOpenHubTable olarak ayarlayın. Aşağıdaki özellikler desteklenir.
Özellik | Açıklama | Gerekli |
---|---|---|
Tür | tür özelliği SapOpenHubTable olarak ayarlanmalıdır. | Yes |
openHubDestinationName | Verilerin kopyalanması için Open Hub Hedefinin adı. | Yes |
Ve veri kümesinde ayarlanıyorsanız excludeLastRequest
baseRequestId
, yeni modeli etkinlik kaynağında kullanmanız önerilirken, bu özellik olduğu gibi desteklenir.
Örnek:
{
"name": "SAPBWOpenHubDataset",
"properties": {
"type": "SapOpenHubTable",
"typeProperties": {
"openHubDestinationName": "<open hub destination name>"
},
"schema": [],
"linkedServiceName": {
"referenceName": "<SAP BW Open Hub linked service name>",
"type": "LinkedServiceReference"
}
}
}
Kopyalama etkinliğinin özellikleri
Etkinlikleri tanımlamak için kullanılabilen bölümlerin ve özelliklerin tam listesi için İşlem hatları makalesine bakın. Bu bölümde SAP BW Open Hub kaynağı tarafından desteklenen özelliklerin listesi sağlanır.
Kaynak olarak SAP BW Open Hub
SAP BW Open Hub'dan veri kopyalamak için kopyalama etkinliği kaynağı bölümünde aşağıdaki özellikler desteklenir:
Özellik | Açıklama | Gerekli |
---|---|---|
Tür | Kopyalama etkinliği kaynağının type özelliği SapOpenHubSource olarak ayarlanmalıdır. | Yes |
excludeLastRequest | Son isteğin kayıtlarının dışlanıp dışlanmayacağınız. | Hayır (varsayılan değer true) |
baseRequestId | Delta yükleme isteğinin kimliği. Ayarlandıktan sonra, yalnızca bu özelliğin değerinden daha büyük requestId değerine sahip veriler alınır. | Hayır |
customRfcReadTableFunctionModule | SAP tablosundaki verileri okumak için kullanılabilecek özel bir RFC işlev modülü. Verilerin SAP sisteminizden nasıl alınıp hizmete döndürülür tanımlamak için özel bir RFC işlev modülü kullanabilirsiniz. Özel işlev modülünün, hizmet tarafından kullanılan varsayılan arabirim olan uygulamasına /SAPDS/RFC_READ_TABLE2 benzer bir arabirim (içeri aktarma, dışarı aktarma, tablolar) olmalıdır. |
Hayır |
sapDataColumnDelimiter | Çıkış verilerini bölmek için SAP RFC'ye geçirilen sınırlayıcı olarak kullanılan tek karakter. | Hayır |
İpucu
Open Hub tablonuz yalnızca tek istek kimliğiyle oluşturulan verileri içeriyorsa, her zaman tam yükleme yapar ve tablodaki mevcut verilerin üzerine yazarsınız veya test için DTP'yi yalnızca bir kez çalıştırırsanız, verileri kopyalamak için "excludeLastRequest" seçeneğinin işaretini kaldırmayı unutmayın.
Veri yükleme işlemini hızlandırmak için kopyalama etkinliğini SAP BW Open Hub'dan paralel olarak yüklenecek şekilde ayarlayabilirsiniz parallelCopies
. Örneğin, dört olarak ayarlarsanız parallelCopies
, hizmet aynı anda dört RFC çağrısı yürütür ve her RFC çağrısı, SAP BW Open Hub tablonuzdan DTP istek kimliği ve paket kimliğiyle bölümlenmiş verilerin bir bölümünü alır. Bu, benzersiz DTP istek kimliği + paket kimliği sayısı değerinden parallelCopies
büyük olduğunda geçerlidir. Verileri dosya tabanlı veri deposuna kopyalarken, bir klasöre birden çok dosya (yalnızca klasör adını belirtin) olarak yazmak da önerilir; bu durumda performans tek bir dosyaya yazmaktan daha iyidir.
Örnek:
"activities":[
{
"name": "CopyFromSAPBWOpenHub",
"type": "Copy",
"inputs": [
{
"referenceName": "<SAP BW Open Hub input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "SapOpenHubSource",
"excludeLastRequest": true
},
"sink": {
"type": "<sink type>"
},
"parallelCopies": 4
}
}
]
SAP BW Open Hub için veri türü eşlemesi
SAP BW Open Hub'dan veri kopyalarken, SAP BW veri türlerinden hizmet içinde dahili olarak kullanılan ara veri türlerine aşağıdaki eşlemeler kullanılır. Kopyalama etkinliğinin kaynak şemayı ve veri türünü havuza nasıl eşlediğini öğrenmek için bkz . Şema ve veri türü eşlemeleri .
SAP ABAP Türü | Ara hizmet veri türü |
---|---|
C (Dize) | String |
I (tamsayı) | Int32 |
F (Kayan) | Çift |
D (Tarih) | String |
T (Saat) | String |
P (BCD Paketlenmiş, Para Birimi, Ondalık, Miktar) | Ondalık |
N (Numc) | String |
X (İkili ve Ham) | String |
Arama etkinliği özellikleri
Özellikler hakkında ayrıntılı bilgi edinmek için Arama etkinliği'ne bakın.
Sorun giderme ipuçları
Belirtiler: HANA üzerinde SAP BW çalıştırıyorsanız ve kopyalama etkinliği (1 milyon satır) kullanılarak verilerin yalnızca bir alt kümesinin kopyalandığını gözlemlerseniz, olası neden DTP'nizde "SAP HANA Yürütme" seçeneğini etkinleştirmenizdir; bu durumda hizmet yalnızca ilk veri toplu işlemini alabilir.
Çözüm: DTP'de "SAP HANA Yürütme" seçeneğini devre dışı bırakın, verileri yeniden işleyin ve kopyalama etkinliğini yeniden yürütmeyi deneyin.
İlgili içerik
Kopyalama etkinliği tarafından kaynak ve havuz olarak desteklenen veri depolarının listesi için bkz . desteklenen veri depoları.