Questo documento descrive un'architettura di riferimento per l'utilizzo di BigQuery ML per creare una soluzione di machine learning nel tuo ambiente SAP utilizzando l'edizione on-premise o qualsiasi versione cloud dell'SDK ABAP per Google Cloud. Con l'aiuto dell'architettura di riferimento descritta in questo documento, puoi sviluppare soluzioni che estraggono approfondimenti basati sui dati per accelerare i processi decisionali aziendali in SAP.
Il pubblico di destinazione di questo documento include sviluppatori ABAP, architetti di soluzioni SAP e architetti cloud. Il documento presuppone che tu abbia familiarità con BigQuery e SQL.
Architettura
Il seguente diagramma mostra un'architettura di riferimento per una soluzione di machine learning che fornisce approfondimenti commerciali in base ai dati di un sistema SAP ERP:
Questa architettura di soluzione di machine learning include i seguenti componenti:
Componente | Sottosistema | Dettagli |
---|---|---|
1 | Origine dati | Un sistema ERP SAP come SAP S/4HANA, che è l'origine dei dati aziendali. |
2 | Data warehouse | BigQuery, che archivia i dati non elaborati dei sistemi di origine e gli approfondimenti generati dall'AI. |
3 | Machine learning: addestramento | Modelli di machine learning, addestrati sui dati di origine per generare insight aziendali. |
4 | Machine learning: generazione di insight | Componenti che restituiscono approfondimenti aziendali generati con il machine learning per il consumo da parte di SAP. |
Prodotti utilizzati
Questa architettura di riferimento utilizza i seguenti prodotti Google Cloud:
- ABAP SDK for Google Cloud: ti aiuta a sviluppare applicazioni ABAP che collegano i tuoi sistemi SAP ai servizi Google Cloud, come BigQuery.
- BigQuery: ti aiuta a gestire e analizzare i dati aziendali.
Casi d'uso
BigQuery ML consente agli utenti SAP di ricavare informazioni preziose per migliorare il processo decisionale e i risultati aziendali utilizzando i dati aziendali memorizzati in BigQuery. Questa sezione fornisce esempi di casi d'uso per i quali puoi utilizzare BigQuery ML per creare soluzioni di machine learning.
Previsione
La previsione in BigQuery ML prevede l'analisi dei dati storici delle serie temporali per prevedere le tendenze future. Ad esempio, puoi analizzare i dati sulle vendite storiche di diversi punti vendita per prevedere le vendite future in queste sedi. Puoi eseguire la previsione utilizzando la funzione ML.FORECAST
con il modello ARIMA_PLUS
o ARIMA_PLUS_XREG
.
Rilevamento di anomalie
Il rilevamento delle anomalie trova pattern insoliti nei dati, consentendo di rispondere in modo proattivo a potenziali problemi o opportunità. Con i dati etichettati, puoi utilizzare vari modelli di machine learning supervisionati per questa attività. Per il rilevamento di anomalie puoi utilizzare la regressione lineare e logistica, gli alberi di boosting, le foreste casuali, le reti neurali profonde, i modelli wide and deep o il modello AutoML.
Sistemi di consigli
I sistemi di suggerimenti sono strumenti potenti per le attività, in quanto aiutano gli utenti a scoprire contenuti pertinenti all'interno di vaste raccolte. Questi sistemi utilizzano il machine learning per suggerire elementi che gli utenti potrebbero non trovare autonomamente, superando le limitazioni della ricerca. I sistemi di consigli utilizzano principalmente due approcci:
- Filtro basato sui contenuti, che consiglia gli elementi in base alla somiglianza.
- Filtro collaborativo, che utilizza le somiglianze tra gli utenti e le loro preferenze.
Note sul layout
Questa sezione fornisce indicazioni per aiutarti a utilizzare questa architettura di riferimento per sviluppare architetture che ti consentano di soddisfare i tuoi requisiti specifici di sicurezza, privacy, conformità, costi e prestazioni.
Sicurezza, privacy e conformità
Per implementare i criteri di governance dei dati, puoi utilizzare le funzionalità di BigQuery. La governance dei dati gestisce la sicurezza e la qualità dei dati durante tutto il loro ciclo di vita per garantire che l'accesso e l'accuratezza rispettino le norme e le normative. Per ulteriori informazioni, consulta Introduzione alla governance dei dati in BigQuery.
Costo e prestazioni
Per una stima del costo delle risorse Google Cloud utilizzate dalla soluzione data warehouse con BigQuery, consulta la stima precalcolata nel Calcolatore prezzi di Google Cloud.
Quando inizi a eseguire il ridimensionamento con BigQuery, hai a disposizione diversi modi per migliorare le prestazioni delle query e ridurre la spesa totale. Questi metodi includono la modifica della modalità di archiviazione fisica dei dati, la modifica delle query SQL e l'utilizzo delle prenotazioni di slot per garantire il rendimento in termini di costi. Per ulteriori informazioni su come scalare ed eseguire il tuo data warehouse, consulta Introduzione all'ottimizzazione delle prestazioni delle query.
Design alternativo
Sebbene questo documento si concentri sulla versione on-premise o su qualsiasi versione cloud di ABAP SDK for Google Cloud, puoi ottenere risultati simili utilizzando la versione SAP BTP di ABAP SDK for Google Cloud. Puoi adattare le risorse fornite per creare soluzioni simili all'interno del tuo ambiente SAP BTP.
Deployment
Questa sezione mostra come caricare i dati dal sistema SAP di origine in BigQuery, creare un modello di machine learning adatto ai requisiti aziendali e infine generare approfondimenti che possono essere utilizzati per le decisioni aziendali in SAP.
Prima di iniziare
Prima di implementare una soluzione basata su questa architettura di riferimento, assicurati di aver completato i seguenti prerequisiti:
Devi disporre di un account e un progetto Google Cloud.
La fatturazione è attivata per il progetto. Per informazioni su come verificare che la fatturazione sia attivata per il tuo progetto, consulta Verificare lo stato di fatturazione dei progetti.
L'autenticazione per accedere alle API Google Cloud è configurata. Per informazioni su come configurare l'autenticazione, consulta la Panoramica dell'autenticazione per la versione on-premise o cloud di ABAP SDK for Google Cloud.
L'API BigQuery è attivata nel tuo progetto Google Cloud.
Hai un set di dati e una tabella BigQuery per archiviare i tuoi dati.
Caricare dati da un sistema di origine SAP in BigQuery
Per caricare i dati da un sistema di origine SAP in una tabella BigQuery utilizzando l'SDK ABAP per Google Cloud, utilizza il metodo INSERT_ALL_TABLEDATA
della classe /GOOG/CL_BIGQUERY_V2
. Questi dati fungono da base per l'addestramento dei modelli di machine learning.
Il seguente esempio di codice illustra come caricare i dati da un sistema di origine SAP in una tabella BigQuery:
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.
Sostituisci quanto segue:
CLIENT_KEY
: la chiave client configurata per l'autenticazione.BIGQUERY_DATASET
: l'ID del set di dati BigQuery di destinazione.BIGQUERY_TABLE
: l'ID della tabella BigQuery di destinazione.
In alternativa, se stai cercando una soluzione di importazione dei dati BigQuery senza codice che gestisca sia il caricamento iniziale sia la gestione dei dati delta (CDC), puoi prendere in considerazione BigQuery Connector per SAP, Cloud Data Fusion o SAP Datasphere.
Creare un modello di machine learning
BigQuery fornisce un elenco completo di modelli di machine learning e AI IA per ricavare informazioni dai dati aziendali. Uno di questi modelli è ARIMA_PLUS
,
che puoi utilizzare per prevedere i valori futuri delle serie temporali in base ai dati storici.
Ad esempio, puoi utilizzare il modello ARIMA_PLUS
per prevedere i volumi di vendita futuri in base ai dati storici. Per addestrare un nuovo modello con i dati SAP che hai caricato
in BigQuery, utilizza l'istruzione CREATE MODEL
. A seconda delle dimensioni dei dati, l'esecuzione potrebbe richiedere alcuni minuti o alcune ore. Una volta creato, puoi visualizzare il modello in BigQuery Studio.
Per creare e addestrare il modello, esegui l'istruzione CREATE MODEL
:
Nella console Google Cloud, fai clic sul pulsante Crea nuova query.
Inserisci la seguente query GoogleSQL nell'Editor di query:
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}`
Sostituisci quanto segue:
MODEL_NAME
: il nome del modello che hai addestrato per generare approfondimenti.TIME_SERIES_TIMESTAMP_COL
: il nome della colonna che fornisce i punti in tempo utilizzati per l'addestramento del modello.TIME_SERIES_DATA_COL
: il nome della colonna che contiene i dati da prevedere.
Per ulteriori informazioni sugli argomenti, consulta la sintassi di
CREATE MODEL
.Fai clic su Esegui. Il modello viene visualizzato nel pannello di navigazione.
Generare e pubblicare approfondimenti
Puoi generare approfondimenti utilizzando il tuo modello di machine learning.
Ad esempio, se hai creato un modello ARIMA_PLUS
, puoi utilizzarlo per generare approfondimenti per i valori delle serie temporali, come le previsioni di vendita future.
Genera insight
Per generare approfondimenti basati su un modello addestrato, svolgi i seguenti passaggi:
Nella console Google Cloud, fai clic sul pulsante Crea nuova query.
Inserisci la seguente query GoogleSQL nell'Editor di query:
SELECT * FROM ML.FORECAST(MODEL `MODEL_NAME`, STRUCT(HORIZON AS horizon, CONFIDENCE_LEVEL AS confidence_level));
Sostituisci quanto segue:
MODEL_NAME
: il nome del modello che hai addestrato per generare approfondimenti.HORIZON
: un valoreINT64
che specifica il numero di punti nel tempo da prevedere.CONFIDENCE_LEVEL
: un valoreCONFIDENCE_LEVEL
che specifica la percentuale dei valori futuri che rientrano nell'intervallo di previsione.FLOAT64
Per ulteriori informazioni sugli argomenti, consulta la sezione Funzione
ML.FORECAST
.Fai clic su Esegui. Il modello ML fornisce un output di valori previsti per date future.
Al termine della query, fai clic sulla scheda Risultati. I risultati dovrebbero essere simili ai seguenti:
Fornire approfondimenti
Per pubblicare le previsioni generate per le decisioni aziendali basate sui dati
dall'applicazione SAP utilizzando
l'SDK ABAP per Google Cloud, utilizzi il metodo QUERY_JOBS
della classe /GOOG/CL_BIGQUERY_V2
.
Per aiutarti a eseguire il deployment della soluzione di esempio spiegata in questa sezione con il minimo sforzo, su GitHub è fornito un esempio di codice.
Questo esempio di codice mostra un esempio end-to-end di generazione di previsioni
di valori delle serie temporali future utilizzando il modello ARIMA_PLUS
e la versione on-premise o qualsiasi versione cloud dell'SDK ABAP per Google Cloud.
Passaggi successivi
- Per una panoramica di BigQuery ML, consulta Introduzione a BigQuery ML.
- Per valutare i modelli di machine learning di BigQuery disponibili per i tuoi requisiti e processi aziendali, consulta Percorso utente end-to-end per ogni modello.
- Anziché eseguire query ad hoc per ottenere le previsioni di BigQuery ML, puoi utilizzare Cloud Run per generare automaticamente approfondimenti per i dati nuovi o modificati in BigQuery. Gli approfondimenti generati possono essere scritti in una tabella BigQuery temporanea e poi recuperati da un'applicazione SAP.
- Per estrarre un valore e informazioni maggiori dai tuoi dati SAP, puoi utilizzare Cortex Data Foundation di Google Cloud, che fornisce una base di dati scalabile ed estensibile, nonché pipeline e modelli di dati predefiniti per i casi d'uso aziendali comuni relativi a SAP.
- Per scoprire di più sulla console Google Cloud, consulta Utilizzare la console Google Cloud.
- Per informazioni sull'SDK ABAP per Google Cloud, consulta la Panoramica dell'SDK ABAP per Google Cloud.
Se hai bisogno di aiuto per risolvere i problemi relativi all'SDK ABAP per Google Cloud, segui questi passaggi:
- Fai riferimento alla guida alla risoluzione dei problemi di ABAP SDK for Google Cloud.
- Fai domande e discuti dell'ABAP SDK per Google Cloud con la community nei forum di Cloud.
- Raccogli tutte le informazioni diagnostiche disponibili e contatta l'assistenza clienti Google Cloud. Per informazioni su come contattare l'assistenza clienti, consulta Assistenza per SAP su Google Cloud.
Collaboratori
Autore: Ajith Urimajalu | Team Lead, SAP Application Engineer
Altro collaboratore: Vikash Kumar | Technical Writer