In diesem Dokument wird eine Referenzarchitektur für die Verwendung von BigQuery ML zum Erstellen einer Lösung für maschinelles Lernen in Ihrer SAP-Umgebung beschrieben. Dabei wird die lokale oder eine beliebige Cloud-Version des ABAP SDK for Google Cloud verwendet. Anhand der in diesem Dokument beschriebenen Referenzarchitektur können Sie Lösungen entwickeln, mit denen Sie datengestützte Informationen gewinnen, um Ihre Geschäftsentscheidungsprozesse in SAP zu beschleunigen.
Dieses Dokument richtet sich an ABAP-Entwickler, SAP-Lösungsarchitekten und Cloud-Architekten. In diesem Dokument wird davon ausgegangen, dass Sie mit BigQuery und SQL vertraut sind.
Architektur
Das folgende Diagramm zeigt eine Referenzarchitektur für eine Lösung für maschinelles Lernen, die Geschäftsinformationen auf der Grundlage der Daten aus einem SAP-ERP-System liefert:
Diese Architektur für eine Lösung mit maschinellem Lernen umfasst die folgenden Komponenten:
Komponente | Subsystem | Details |
---|---|---|
1 | Datenquelle | Ein SAP ERP-System wie SAP S/4HANA, das die Quelle der Unternehmensdaten ist. |
2 | Data Warehouse | BigQuery, in dem Rohdaten aus Quellsystemen und mit ML generierte Statistiken gespeichert werden. |
3 | Maschinelles Lernen: Training | Modelle für maschinelles Lernen, die anhand von Quelldaten trainiert werden, um Geschäftsinformationen zu generieren. |
4 | Maschinelles Lernen: Statistiken bereitstellen | Komponenten, die mithilfe von ML generierte Geschäftsstatistiken für die Verwendung in SAP zurückgeben. |
Verwendete Produkte
In dieser Referenzarchitektur werden die folgenden Google Cloud-Produkte verwendet:
- ABAP SDK for Google Cloud: Hilft Ihnen bei der Entwicklung von ABAP-Anwendungen, die Ihre SAP-Systeme mit Google Cloud-Diensten wie BigQuery verbinden.
- BigQuery: Hilft Ihnen, Ihre Unternehmensdaten zu verwalten und zu analysieren.
Anwendungsfälle
Mit BigQuery ML können SAP-Nutzer wertvolle Informationen gewinnen, um fundiertere Entscheidungen zu treffen und bessere Geschäftsergebnisse zu erzielen. Dazu nutzen sie die in BigQuery gespeicherten Unternehmensdaten. In diesem Abschnitt finden Sie Beispiele für Anwendungsfälle, für die Sie BigQuery ML zum Erstellen von Lösungen für maschinelles Lernen verwenden können.
Vorhersage
Bei der Prognose in BigQuery ML werden Verlaufsdaten von Zeitreihen analysiert, um zukünftige Trends vorherzusagen. Sie können beispielsweise Verlaufsdaten aus mehreren Geschäften analysieren, um zukünftige Umsätze an diesen Standorten vorherzusagen. Sie können Prognosen mit der ML.FORECAST
-Funktion und dem ARIMA_PLUS
- oder ARIMA_PLUS_XREG
-Modell erstellen.
Anomalieerkennung
Mithilfe der Anomalieerkennung werden ungewöhnliche Muster in Daten erkannt, sodass Sie proaktiv auf potenzielle Probleme oder Chancen reagieren können. Mit gekennzeichneten Daten können Sie verschiedene beaufsichtigte Modelle für maschinelles Lernen für diese Aufgabe verwenden. Sie können die lineare und logistische Regression, Boosted Trees, Random Forests, Deep Neural Networks, Wide-and-Deep-Modelle oder das AutoML-Modell für die Anomalieerkennung verwenden.
Empfehlungssysteme
Empfehlungssysteme sind leistungsstarke Tools für Unternehmen, mit denen Nutzer relevante Inhalte in riesigen Sammlungen finden können. Diese Systeme nutzen maschinelles Lernen, um Elemente vorzuschlagen, die Nutzer möglicherweise nicht selbst finden würden. So werden die Einschränkungen der Suche überwunden. Empfehlungssysteme nutzen hauptsächlich zwei Ansätze:
- Inhaltsbasiertes Filtern, bei dem Elemente basierend auf Ähnlichkeiten empfohlen werden.
- Kollaboratives Filtern, bei dem Ähnlichkeiten zwischen Nutzern und ihren Vorlieben genutzt werden.
Designaspekte
Dieser Abschnitt enthält eine Anleitung zur Verwendung dieser Referenzarchitektur, um Architekturen zu entwickeln, die Ihnen helfen, Ihre spezifischen Anforderungen an Sicherheit, Datenschutz, Compliance, Kosten und Leistung zu erfüllen.
Sicherheit, Datenschutz und Compliance
Sie können BigQuery-Funktionen verwenden, um Richtlinien zur Datenverwaltung zu implementieren. Bei der Datenverwaltung werden die Sicherheit und Qualität von Daten während ihres gesamten Lebenszyklus verwaltet, um sicherzustellen, dass der Zugriff und die Richtigkeit den Richtlinien und Bestimmungen entsprechen. Weitere Informationen finden Sie unter Einführung in die Data Governance in BigQuery.
Kosten und Leistung
Eine Schätzung der Kosten der Google Cloud-Ressourcen, die von der Lösung „Data Warehouse mit BigQuery“ genutzt werden, finden Sie in der vorab berechneten Schätzung im Google Cloud-Preisrechner.
Wenn Sie mit der Skalierung mit BigQuery beginnen, haben Sie verschiedene Möglichkeiten, die Abfrageleistung zu verbessern und die Gesamtausgaben zu reduzieren. Zu diesen Methoden gehören die Änderung der Art der physischen Speicherung der Daten, die Änderung der SQL-Abfragen und die Verwendung von Slot-Reservierungen zur Sicherstellung der Kostenleistung. Weitere Informationen zum Skalieren und Ausführen Ihres Data Warehouse finden Sie unter Einführung in die Optimierung der Abfrageleistung.
Designalternative
In diesem Dokument liegt der Schwerpunkt auf der lokalen oder einer beliebigen Cloud-Version des ABAP SDK for Google Cloud. Mit der SAP BTP-Version des ABAP SDK for Google Cloud können Sie jedoch ähnliche Ergebnisse erzielen. Sie können die bereitgestellten Ressourcen anpassen, um ähnliche Lösungen in Ihrer SAP BTP-Umgebung zu erstellen.
Bereitstellung
In diesem Abschnitt erfahren Sie, wie Sie Daten aus Ihrem SAP-Quellsystem in BigQuery laden, ein für Ihre Geschäftsanforderungen geeignetes Modell für maschinelles Lernen erstellen und schließlich Statistiken generieren, die für Geschäftsentscheidungen in SAP verwendet werden können.
Hinweise
Bevor Sie eine Lösung auf Grundlage dieser Referenzarchitektur implementieren, müssen Sie die folgenden Voraussetzungen erfüllen:
Sie haben ein Google Cloud-Konto und -Projekt.
Die Abrechnung ist für Ihr Projekt aktiviert. Informationen dazu, wie Sie prüfen, ob die Abrechnung für Ihr Projekt aktiviert ist, finden Sie unter Abrechnungsstatus Ihrer Projekte prüfen.
Die Authentifizierung für den Zugriff auf Google Cloud APIs ist eingerichtet. Informationen zum Einrichten der Authentifizierung finden Sie unter Authentifizierung für die lokale oder eine beliebige Cloud-Version des ABAP SDK for Google Cloud.
Die BigQuery API ist in Ihrem Google Cloud-Projekt aktiviert.
Sie haben ein BigQuery-Dataset und eine Tabelle zum Speichern Ihrer Daten.
Daten aus einem SAP-Quellsystem in BigQuery laden
Wenn Sie Daten mit dem ABAP SDK for Google Cloud aus einem SAP-Quellsystem in eine BigQuery-Tabelle laden möchten, verwenden Sie die Methode INSERT_ALL_TABLEDATA
der Klasse /GOOG/CL_BIGQUERY_V2
. Diese Daten bilden die Grundlage für das Training der Modelle für maschinelles Lernen.
Im folgenden Codebeispiel wird gezeigt, wie Daten aus einem SAP-Quellsystem in eine BigQuery-Tabelle geladen werden:
TRY.
DATA(lo_client) = NEW /goog/cl_bigquery_v2( iv_key_name = 'CLIENT_KEY' ).
TYPES:
BEGIN OF t_timeseries,
date TYPE string, "YYYY-MM-DD
value TYPE string, "Numeric value
END OF t_timeseries.
DATA: lt_data TYPE STANDARD TABLE OF t_timeseries.
"Developer TODO - populate lt_data
DATA: ls_input TYPE /goog/cl_bigquery_v2=>ty_133.
LOOP AT lt_data INTO FIELD-SYMBOL(<ls_data>).
APPEND INITIAL LINE TO ls_input-rows ASSIGNING FIELD-SYMBOL(<ls_row>).
CREATE DATA <ls_row>-json TYPE t_timeseries.
FIELD-SYMBOLS: <lfs_json> TYPE t_timeseries.
ASSIGN <ls_row>-json->* TO <lfs_json> CASTING.
<lfs_json> = <ls_data>.
ENDLOOP.
"Call API method: bigquery.tabledata.insertAll
CALL METHOD lo_client->insert_all_tabledata
EXPORTING
iv_p_dataset_id = 'BIGQUERY_DATASET'
iv_p_project_id = CONV #( lo_client->gv_project_id )
iv_p_table_id = 'BIGQUERY_TABLE'
is_input = ls_input
IMPORTING
es_output = DATA(ls_output)
ev_ret_code = DATA(lv_ret_code)
ev_err_text = DATA(lv_err_text).
lo_client->close( ).
CATCH cx_root.
"handle error
ENDTRY.
Ersetzen Sie Folgendes:
CLIENT_KEY
: Der für die Authentifizierung konfigurierte Clientschlüssel.BIGQUERY_DATASET
: Die ID des Ziel-BigQuery-Datasets.BIGQUERY_TABLE
: Die ID der BigQuery-Zieltabelle.
Wenn Sie nach einer BigQuery-Datenaufnahmelösung ohne Code suchen, die sowohl die Erstbelastung als auch die Delta-Verarbeitung (CDC) abwickelt, können Sie BigQuery Connector für SAP, Cloud Data Fusion oder SAP Datasphere verwenden.
Machine-Learning-Modell erstellen
BigQuery bietet eine umfassende Liste von Modellen für maschinelles Lernen und KI-Ressourcen, mit denen sich Erkenntnisse aus Unternehmensdaten gewinnen lassen. Ein solches Modell ist ARIMA_PLUS
. Mit diesem Modell können Sie zukünftige Zeitreihenwerte anhand von Verlaufsdaten prognostizieren.
So können Sie beispielsweise mit dem ARIMA_PLUS
-Modell zukünftige Verkaufsvolumen anhand von Verlaufsdaten vorhersagen. Um ein neues Modell mit den SAP-Daten zu trainieren, die Sie in BigQuery geladen haben, verwenden Sie die Anweisung CREATE MODEL
. Je nach Größe der Daten kann dies einige Minuten oder Stunden dauern. Nachdem das Modell erstellt wurde, können Sie es sich in BigQuery Studio ansehen.
Führen Sie die Anweisung CREATE MODEL
aus, um das Modell zu erstellen und zu trainieren:
Klicken Sie in der Google Cloud Console auf die Schaltfläche Neue Abfrage erstellen.
Geben Sie im Abfrageeditor die folgende GoogleSQL-Abfrage ein:
CREATE OR REPLACE MODEL `MODEL_NAME` OPTIONS (model_type = 'ARIMA_PLUS', time_series_timestamp_col = 'TIME_SERIES_TIMESTAMP_COL', time_series_data_col = 'TIME_SERIES_DATA_COL', auto_arima = TRUE, data_frequency = 'AUTO_FREQUENCY', decompose_time_series = TRUE ) AS SELECT {timestamp_column_name}, {timeseries_data_column_name} FROM `{BigQuery_table}`
Ersetzen Sie Folgendes:
MODEL_NAME
: Der Name des Modells, das Sie zum Generieren von Statistiken trainiert haben.TIME_SERIES_TIMESTAMP_COL
: Der Name der Spalte mit den Zeitpunkten, die beim Trainieren des Modells verwendet werden.TIME_SERIES_DATA_COL
: Der Name der Spalte, die die zu prognostizierenden Daten enthält.
Weitere Informationen zu den Argumenten finden Sie in der Syntax von
CREATE MODEL
.Klicken Sie auf Ausführen. Ihr Modell wird im Navigationsbereich angezeigt.
Statistiken generieren und bereitstellen
Mithilfe Ihres Modells für maschinelles Lernen können Sie Erkenntnisse gewinnen.
Wenn Sie beispielsweise ein ARIMA_PLUS
-Modell erstellt haben, können Sie damit Statistiken für Zeitreihenwerte wie zukünftige Umsatzvorhersagen generieren.
Insights generieren
So generieren Sie Statistiken auf der Grundlage eines trainierten Modells:
Klicken Sie in der Google Cloud Console auf die Schaltfläche Neue Abfrage erstellen.
Geben Sie im Abfrageeditor die folgende GoogleSQL-Abfrage ein:
SELECT * FROM ML.FORECAST(MODEL `MODEL_NAME`, STRUCT(HORIZON AS horizon, CONFIDENCE_LEVEL AS confidence_level));
Ersetzen Sie Folgendes:
MODEL_NAME
: Der Name des Modells, das Sie zum Generieren von Statistiken trainiert haben.HORIZON
: EinINT64
-Wert, der die Anzahl der zu prognostizierenden Zeitpunkte angibt.CONFIDENCE_LEVEL
: EinFLOAT64
-Wert, der den Prozentsatz der zukünftigen Werte angibt, die in das Vorhersageintervall fallen.
Weitere Informationen zu den Argumenten finden Sie unter
ML.FORECAST
-Funktion.Klicken Sie auf Ausführen. Das ML-Modell liefert eine Ausgabe mit prognostizierten Werten für zukünftige Zeiträume.
Klicken Sie auf den Tab Ergebnisse, wenn die Abfrage abgeschlossen ist. Die Ergebnisse sollten so aussehen:
Statistiken bereitstellen
Wenn Sie generierte Vorhersagen für datengetriebene Geschäftsentscheidungen aus Ihrer SAP-Anwendung mit dem ABAP SDK for Google Cloud bereitstellen möchten, verwenden Sie die Methode QUERY_JOBS
der Klasse /GOOG/CL_BIGQUERY_V2
.
Damit Sie die in diesem Abschnitt beschriebene Beispiellösung mit minimalem Aufwand bereitstellen können, wird in GitHub ein Codebeispiel bereitgestellt.
Dieses Codebeispiel zeigt ein End-to-End-Beispiel für die Generierung von Prognosen für zukünftige Zeitreihenwerte mit dem ARIMA_PLUS
-Modell und der lokalen oder einer beliebigen Cloud-Version des ABAP SDK for Google Cloud.
Nächste Schritte
- Eine Übersicht über BigQuery ML finden Sie unter Einführung in BigQuery ML.
- Informationen zur Bewertung der verfügbaren BigQuery-Modelle für maschinelles Lernen für Ihre Geschäftsprozesse und ‑anforderungen finden Sie unter End-to-End-Nutzerpfad für jedes Modell.
- Anstatt Ad-hoc-Abfragen auszuführen, um BigQuery ML-Vorhersagen zu erhalten, können Sie mit Cloud Run automatisch Statistiken für neue oder geänderte Daten in BigQuery generieren. Die generierten Statistiken können in eine temporäre BigQuery-Tabelle geschrieben und dann von einer SAP-Anwendung abgerufen werden.
- Wenn Sie aus Ihren SAP-Daten mehr Nutzen und Informationen ziehen möchten, können Sie die Cortex Data Foundation von Google Cloud verwenden. Diese bietet eine skalierbare und erweiterbare Datengrundlage sowie vordefinierte Datenmodelle und Pipelines für gängige Geschäftsanwendungsfälle im Zusammenhang mit SAP.
- Weitere Informationen zur Google Cloud Console finden Sie unter Google Cloud Console verwenden.
- Weitere Informationen zum ABAP SDK for Google Cloud finden Sie unter ABAP SDK for Google Cloud – Übersicht.
Wenn Sie Hilfe bei der Behebung von Problemen mit dem ABAP SDK for Google Cloud benötigen, gehen Sie so vor:
- Weitere Informationen finden Sie im Leitfaden zur Fehlerbehebung für ABAP SDK for Google Cloud.
- In den Cloud-Foren können Sie Ihre Fragen stellen und über die ABAP SDK für Google Cloud mit der Community sprechen.
- Erfassen Sie alle verfügbaren Diagnoseinformationen und wenden Sie sich an Cloud Customer Care. Weitere Informationen zur Kontaktaufnahme mit Customer Care finden Sie unter Support für SAP in Google Cloud.
Beitragende
Autor: Ajith Urimajalu | SAP Application Engineer Team Lead
Weiterer Mitwirkender: Vikash Kumar | Technischer Autor