Kopiowanie danych z usługi SAP Business Warehouse za pośrednictwem usługi Open Hub przy użyciu usługi Azure Data Factory lub Synapse Analytics

DOTYCZY: Azure Data Factory Azure Synapse Analytics

Napiwek

Wypróbuj usługę Data Factory w usłudze Microsoft Fabric — rozwiązanie analityczne typu all-in-one dla przedsiębiorstw. Usługa Microsoft Fabric obejmuje wszystko, od przenoszenia danych do nauki o danych, analizy w czasie rzeczywistym, analizy biznesowej i raportowania. Dowiedz się, jak bezpłatnie rozpocząć nową wersję próbną !

W tym artykule opisano sposób używania działania kopiowania w potokach usługi Azure Data Factory i Synapse Analytics do kopiowania danych z magazynu SAP Business Warehouse (BW) za pośrednictwem usługi Open Hub. Jest on oparty na artykule omówienie działania kopiowania, który przedstawia ogólne omówienie działania kopiowania.

Napiwek

Aby dowiedzieć się więcej o ogólnej obsłudze scenariusza integracji danych SAP, zobacz oficjalny dokument dotyczący integracji danych SAP ze szczegółowym wprowadzeniem do każdego łącznika SAP, porównania i wskazówek.

Obsługiwane możliwości

Ten łącznik SAP Business Warehouse Open Hub jest obsługiwany w następujących funkcjach:

Obsługiwane możliwości IR
działanie Kopiuj (źródło/-)
Działanie Lookup

(1) Środowisko Azure Integration Runtime (2) Self-hosted Integration Runtime

Aby uzyskać listę magazynów danych obsługiwanych jako źródła/ujścia przez działanie kopiowania, zobacz tabelę Obsługiwane magazyny danych.

W szczególności ten łącznik SAP Business Warehouse Open Hub obsługuje:

  • SAP Business Warehouse w wersji 7.01 lub nowszej (w ostatnim stosie pakietów pomocy technicznej SAP wydanym po roku 2015). Oprogramowanie SAP BW/4HANA nie jest obsługiwane przez ten łącznik.
  • Kopiowanie danych za pomocą lokalnej tabeli Open Hub Destination, która znajduje się poniżej może być DSO, InfoCube, MultiProvider, DataSource itp.
  • Kopiowanie danych przy użyciu uwierzytelniania podstawowego.
  • Połączenie do serwera aplikacji SAP lub serwera komunikatów SAP.
  • Pobieranie danych za pośrednictwem RFC.

Integracja rozwiązania SAP BW Open Hub

Usługa SAP BW Open Hub to wydajny sposób wyodrębniania danych z systemu SAP BW. Na poniższym diagramie przedstawiono jeden z typowych przepływów, które klienci mają w swoim systemie SAP, w którym przypadku dane przepływają z rozwiązania SAP ECC —> PSA —> DSO —> Cube.

Docelowa lokalizacja docelowa (OHD) systemu SAP BW Open Hub definiuje obiekt docelowy, do którego są przekazywane dane SAP. Wszystkie obiekty obsługiwane przez proces transferu danych SAP (DTP) mogą być używane jako źródła danych typu open hub, na przykład DSO, InfoCube, DataSource itp. Typ miejsca docelowego centrum Open Hub — gdzie są przechowywane przekazane dane — mogą to być tabele bazy danych (lokalne lub zdalne) i pliki proste. Ten łącznik SAP BW Open Hub obsługuje kopiowanie danych z tabeli lokalnej OHD w usłudze BW. Jeśli używasz innych typów, możesz bezpośrednio nawiązać połączenie z bazą danych lub systemem plików przy użyciu innych łączników.

SAP BW Open Hub

Przepływ wyodrębniania różnicowego

Program SAP BW Open Hub Połączenie or oferuje dwie opcjonalne właściwości: excludeLastRequest i baseRequestId które mogą służyć do obsługi obciążenia różnicowego z usługi Open Hub.

  • excludeLastRequestId: czy wykluczyć rekordy ostatniego żądania. Domyślna wartość to true.
  • baseRequestId: identyfikator żądania ładowania różnicowego. Po ustawieniu zostaną pobrane tylko dane o identyfikatorze requestId większym niż wartość tej właściwości.

Ogólnie rzecz biorąc wyodrębnianie z programu SAP InfoProvider składa się z dwóch kroków:

  1. Sap BW Data Transfer Process (DTP) Ten krok kopiuje dane z programu SAP BW InfoProvider do tabeli SAP BW Open Hub

  2. Kopiowanie danych W tym kroku tabela Open Hub jest odczytywana przez łącznik

Delta extraction flow

W pierwszym kroku jest wykonywana funkcja DTP. Każde wykonanie tworzy nowy identyfikator żądania SAP. Identyfikator żądania jest przechowywany w tabeli Open Hub, a następnie używany przez łącznik do identyfikowania różnicy. Dwa kroki są uruchamiane asynchronicznie: DTP jest wyzwalana przez system SAP, a kopia danych jest wyzwalana za pośrednictwem usługi.

Domyślnie usługa nie odczytuje najnowszej różnicy z tabeli Open Hub (opcja "wyklucz ostatnie żądanie" ma wartość true). Niniejszym dane w usłudze nie są aktualne w 100% z danymi w tabeli Open Hub (brakuje ostatniej różnicy). W zamian ta procedura gwarantuje, że żadne wiersze nie zostaną utracone przez wyodrębnianie asynchroniczne. Działa dobrze nawet wtedy, gdy usługa odczytuje tabelę Open Hub, podczas gdy DTP nadal zapisuje dane w tej samej tabeli.

Zazwyczaj maksymalny skopiowany identyfikator żądania jest przechowywany w ostatnim uruchomieniu przez usługę w przejściowym magazynie danych (takim jak obiekt blob platformy Azure na powyższym diagramie). W związku z tym to samo żądanie nie jest odczytywane po raz drugi przez usługę w kolejnym uruchomieniu. W międzyczasie należy pamiętać, że dane nie są automatycznie usuwane z tabeli Open Hub.

W celu prawidłowej obsługi różnicowej identyfikatory żądań z różnych jednostek DTP w tej samej tabeli open hub nie mogą mieć identyfikatorów żądań. W związku z tym nie można utworzyć więcej niż jednej DTP dla każdego miejsca docelowego open hub (OHD). W przypadku konieczności wyodrębniania pełnej i różnicowej z tego samego dostawcy informacji należy utworzyć dwa identyfikatory OHD dla tego samego dostawcy informacji.

Wymagania wstępne

Aby użyć tego łącznika SAP Business Warehouse Open Hub, należy wykonać następujące czynności:

  • Skonfiguruj własne środowisko Integration Runtime w wersji 3.13 lub nowszej. Aby uzyskać szczegółowe informacje, zobacz artykuł Self-hosted Integration Runtime (Self-hosted Integration Runtime ).

  • Pobierz 64-bitowy program SAP .NET Połączenie or 3.0 z witryny internetowej sap i zainstaluj go na maszynie własnego środowiska IR. Podczas instalowania w oknie opcjonalnych kroków konfiguracji upewnij się, że wybrano opcję Zainstaluj zestawy do GAC , jak pokazano na poniższej ilustracji.

    Install SAP .NET Connector

  • Użytkownik SAP używany w łączniku BW musi mieć następujące uprawnienia:

    • Autoryzacja dla RFC i SAP BW.
    • Uprawnienia do działania "Execute" obiektu autoryzacji "S_SDSAUTH".
  • Utwórz typ docelowy centrum SAP Open Hub jako tabelę bazy danych z zaznaczoną opcją "Klucz techniczny". Zaleca się również pozostawienie opcji Usuwanie danych z tabeli jako niezaznaczone, mimo że nie jest to wymagane. Użyj protokołu DTP (bezpośrednio wykonaj lub zintegruj z istniejącym łańcuchem procesów), aby wylądować dane z obiektu źródłowego (takiego jak moduł) wybranego do otwartej tabeli docelowej centrum.

Wprowadzenie

Napiwek

Aby zapoznać się z przewodnikiem po użyciu łącznika SAP BW Open Hub, zobacz Ładowanie danych z usługi SAP Business Warehouse (BW).

Aby wykonać działanie Kopiuj za pomocą potoku, możesz użyć jednego z następujących narzędzi lub zestawów SDK:

Poniższe sekcje zawierają szczegółowe informacje o właściwościach używanych do definiowania jednostek specyficznych dla łącznika SAP Business Warehouse Open Hub.

Właściwości połączonej usługi

Następujące właściwości są obsługiwane w przypadku połączonej usługi SAP Business Warehouse Open Hub:

Właściwości Opis Wymagania
type Właściwość type musi być ustawiona na: SapOpenHub Tak
serwer Nazwa serwera, na którym znajduje się wystąpienie sap BW. Tak
systemNumber Numer systemu SAP BW.
Dozwolona wartość: dwucyfrowa liczba dziesiętna reprezentowana jako ciąg.
Tak
messageServer Nazwa hosta serwera komunikatów SAP.
Użyj polecenia , aby nawiązać połączenie z serwerem komunikatów SAP.
Nie.
messageServerService Nazwa usługi lub numer portu serwera komunikatów.
Użyj polecenia , aby nawiązać połączenie z serwerem komunikatów SAP.
Nie.
identyfikator systemId Identyfikator systemu SAP, w którym znajduje się tabela.
Użyj polecenia , aby nawiązać połączenie z serwerem komunikatów SAP.
Nie.
logonGroup Grupa logowania dla systemu SAP.
Użyj polecenia , aby nawiązać połączenie z serwerem komunikatów SAP.
Nie.
clientId Identyfikator klienta klienta w systemie SAP W.
Dozwolona wartość: trzycyfrowa liczba dziesiętna reprezentowana jako ciąg.
Tak
język Język używany przez system SAP. Nie (wartość domyślna to EN)
userName Nazwa użytkownika, który ma dostęp do serwera SAP. Tak
hasło Hasło użytkownika. Oznacz to pole jako element SecureString w celu bezpiecznego przechowywania go lub odwołuj się do wpisu tajnego przechowywanego w usłudze Azure Key Vault. Tak
connectVia Środowisko Integration Runtime do nawiązania połączenia z magazynem danych. Środowisko Integration Runtime (Self-hosted) jest wymagane zgodnie z wymaganiami wstępnymi. Tak

Przykład:

{
    "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"
        }
    }
}

Właściwości zestawu danych

Aby uzyskać pełną listę sekcji i właściwości dostępnych do definiowania zestawów danych, zobacz artykuł Zestawy danych. Ta sekcja zawiera listę właściwości obsługiwanych przez zestaw danych sap BW Open Hub.

Aby skopiować dane z i do rozwiązania SAP BW Open Hub, ustaw właściwość type zestawu danych na wartość SapOpenHubTable. Obsługiwane są następujące właściwości.

Właściwości Opis Wymagania
type Właściwość type musi być ustawiona na Wartość SapOpenHubTable. Tak
openHubDestinationName Nazwa miejsca docelowego centrum open hub do skopiowania danych. Tak

Jeśli ustawiano excludeLastRequest i baseRequestId w zestawie danych, nadal jest ona obsługiwana zgodnie z rzeczywistym użyciem, podczas gdy sugerowane jest użycie nowego modelu w źródle działań.

Przykład:

{
    "name": "SAPBWOpenHubDataset",
    "properties": {
        "type": "SapOpenHubTable",
        "typeProperties": {
            "openHubDestinationName": "<open hub destination name>"
        },
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<SAP BW Open Hub linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

Właściwości działania kopiowania

Aby uzyskać pełną listę sekcji i właściwości dostępnych do definiowania działań, zobacz artykuł Pipelines (Potoki ). Ta sekcja zawiera listę właściwości obsługiwanych przez oprogramowanie SAP BW Open Hub.

SAP BW Open Hub jako źródło

Aby skopiować dane z programu SAP BW Open Hub, w sekcji źródła działania kopiowania są obsługiwane następujące właściwości:

Właściwości Opis Wymagania
type Właściwość type źródła działania kopiowania musi być ustawiona na Wartość SapOpenHubSource. Tak
excludeLastRequest Czy wykluczyć rekordy ostatniego żądania. Nie (wartość domyślna to true)
baseRequestId Identyfikator żądania ładowania różnicowego. Po ustawieniu zostaną pobrane tylko dane o identyfikatorze requestId większym niż wartość tej właściwości. Nie.
customRfcReadTableFunctionModule Niestandardowy moduł funkcji RFC, który może służyć do odczytywania danych z tabeli SAP.
Możesz użyć niestandardowego modułu funkcji RFC, aby zdefiniować sposób pobierania danych z systemu SAP i zwracania ich do usługi. Moduł funkcji niestandardowej musi mieć zaimplementowany interfejs (import, eksport, tabele) podobny do /SAPDS/RFC_READ_TABLE2, który jest domyślnym interfejsem używanym przez usługę.
Nie.
sapDataColumnDelimiter Pojedynczy znak, który jest używany jako ogranicznik przekazywany do oprogramowania SAP RFC w celu podzielenia danych wyjściowych. Nie.

Napiwek

Jeśli tabela open hub zawiera tylko dane wygenerowane przez pojedynczy identyfikator żądania, na przykład zawsze wykonujesz pełne ładowanie i zastępowasz istniejące dane w tabeli lub uruchamiasz tylko DTP raz na potrzeby testu, pamiętaj, aby usunąć zaznaczenie opcji "excludeLastRequest", aby skopiować dane.

Aby przyspieszyć ładowanie danych, możesz ustawić parallelCopies działanie kopiowania w celu równoległego ładowania danych z programu SAP BW Open Hub. Jeśli na przykład ustawiono parallelCopies wartość cztery, usługa jednocześnie wykonuje cztery wywołania RFC, a każde wywołanie RFC pobiera część danych z tabeli SAP BW Open Hub podzielonej na partycje według identyfikatora żądania DTP i identyfikatora pakietu. Ma to zastosowanie, gdy liczba unikatowych identyfikatorów żądań DTP i identyfikator pakietu jest większa niż wartość parallelCopies. Podczas kopiowania danych do magazynu danych opartego na plikach zaleca się również zapisanie w folderze jako wielu plików (tylko określ nazwę folderu), w tym przypadku wydajność jest lepsza niż zapisywanie w jednym pliku.

Przykład:

"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
        }
    }
]

Mapowanie typów danych dla rozwiązania SAP BW Open Hub

Podczas kopiowania danych z rozwiązania SAP BW Open Hub następujące mapowania są używane z typów danych SAP BW do tymczasowych typów danych używanych wewnętrznie w usłudze. Zobacz Mapowania schematu i typu danych, aby dowiedzieć się, jak działanie kopiowania mapuje schemat źródłowy i typ danych na ujście.

Typ protokołu SAP ABAP Typ danych usługi tymczasowej
C (ciąg) String
I (liczba całkowita) Int32
F (zmiennoprzecinkowy) Liczba rzeczywista
D (data) String
T (czas) String
P (BCD Pakowane, Waluta, Liczba dziesiętna, Ilość) Dziesiętne
N (liczba) String
X (dane binarne i nieprzetworzone) String

Właściwości działania wyszukiwania

Aby dowiedzieć się więcej o właściwościach, sprawdź działanie Wyszukiwania.

Wskazówki dotyczące rozwiązywania problemów

Objawy: Jeśli korzystasz z systemu SAP BW na platformie HANA i obserwujesz, że tylko podzbiór danych jest kopiowany przy użyciu działania kopiowania (1 milion wierszy), możliwą przyczyną jest włączenie opcji "Wykonywanie platformy SAP HANA" w usłudze DTP, w tym przypadku usługa może pobrać tylko pierwszą partię danych.

Rozwiązanie: Wyłącz opcję "Wykonywanie platformy SAP HANA" w usłudze DTP, ponownie przetwarza dane, a następnie spróbuj ponownie wykonać działanie kopiowania.

Aby uzyskać listę magazynów danych obsługiwanych jako źródła i ujścia działania kopiowania, zobacz obsługiwane magazyny danych.