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/-) | (2) |
Działanie Lookup | (2) |
(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.
- Nawiązywanie połączenia z serwerem aplikacji SAP lub serwerem 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.
Przepływ wyodrębniania różnicowego
Łącznik SAP BW Open Hub 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:
Sap BW Data Transfer Process (DTP) Ten krok kopiuje dane z programu SAP BW InfoProvider do tabeli SAP BW Open Hub
Kopiowanie danych W tym kroku tabela Open Hub jest odczytywana przez łącznik
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 łącznik SAP .NET Connector 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.
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:
- Narzędzie do kopiowania danych
- Witryna Azure Portal
- Zestaw SDK platformy .NET
- Zestaw SDK języka Python
- Azure PowerShell
- Interfejs API REST
- Szablon usługi Azure Resource Manager
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.
Powiązana zawartość
Aby uzyskać listę magazynów danych obsługiwanych jako źródła i ujścia działania kopiowania, zobacz obsługiwane magazyny danych.