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

Bahşiş

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.

Bahşiş

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/-)
Arama etkinliği

(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ğlan.
  • 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.

SAP BW Open Hub

Delta ayıklama akışı

SAP BW Open Hub Bağlan or 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:

  1. SAP BW Veri Aktarım İşlemi (DTP) Bu adım, verileri SAP BW InfoProvider'dan SAP BW Open Hub tablosuna kopyalar

  2. Veri kopyalama Bu adımda Open Hub tablosu bağlayıcı tarafından okunur

Delta extraction flow

İ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 Bağlan or 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.

    Install SAP .NET Connector

  • 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

Bahşiş

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:

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
type Tür özelliği şu şekilde ayarlanmalıdır: SapOpenHub Evet
sunucu SAP BW örneğinin bulunduğu sunucunun adı. Evet
systemNumber SAP BW sisteminin sistem numarası.
İzin verilen değer: dize olarak temsil edilen iki basamaklı ondalık sayı.
Evet
messageServer SAP ileti sunucusunun ana bilgisayar adı.
SAP ileti sunucusuna bağlanmak için kullanın.
No
messageServerService İleti sunucusunun hizmet adı veya bağlantı noktası numarası.
SAP ileti sunucusuna bağlanmak için kullanın.
No
Systemıd Tablonun bulunduğu SAP sisteminin kimliği.
SAP ileti sunucusuna bağlanmak için kullanın.
No
logonGroup SAP sisteminin oturum açma grubu.
SAP ileti sunucusuna bağlanmak için kullanın.
No
clientId SAP W sistemindeki istemcinin istemci kimliği.
İzin verilen değer: Dize olarak temsil edilen üç basamaklı ondalık sayı.
Evet
dil SAP sisteminin kullandığı dil. Hayır (varsayılan değer EN'dir)
userName SAP sunucusuna erişimi olan kullanıcının adı. Evet
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. Evet
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. Evet

Ö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
type tür özelliği SapOpenHubTable olarak ayarlanmalıdır. Evet
openHubDestinationName Verilerin kopyalanması için Open Hub Hedefinin adı. Evet

Ve veri kümesinde ayarlanıyorsanız excludeLastRequestbaseRequestId , 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
type Kopyalama etkinliği kaynağının type özelliği SapOpenHubSource olarak ayarlanmalıdır. Evet
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. No
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_TABLE2benzer bir arabirim (içeri aktarma, dışarı aktarma, tablolar) olmalıdır.
No
sapDataColumnDelimiter Çıkış verilerini bölmek için SAP RFC'ye geçirilen sınırlayıcı olarak kullanılan tek karakter. No

Bahşiş

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 parallelCopiesbü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.

Kopyalama etkinliği tarafından kaynak ve havuz olarak desteklenen veri depolarının listesi için bkz . desteklenen veri depoları.