Questo documento descrive un'architettura di riferimento per l'utilizzo di BigQuery ML al fine di creare una macchina di machine learning nel tuo ambiente SAP, Utilizzando le versioni on-premise o 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 un machine learning soluzione che fornisce insight aziendali basati sui dati di un sistema SAP ERP:
Questa architettura della soluzione di machine learning include i seguenti componenti:
Componente | Sottosistema | Dettagli |
---|---|---|
1 | Origine dati | Un sistema SAP ERP 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 approfondimenti aziendali. |
4 | Machine learning: fornisci insight | Componenti che restituiscono insight aziendali generati dal machine learning per il consumo a 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 preziosi insight per migliorare il processo decisionale e i risultati aziendali utilizzando i dati aziendali archiviati in BigQuery. Questa sezione fornisce esempi di casi d'uso per i quali puoi utilizzare BigQuery ML per creare soluzioni di machine learning.
Previsione
Le previsioni in BigQuery ML implicano l'analisi dei dati storici
i dati di serie temporali
per prevedere le tendenze future. Ad esempio, puoi analizzare
dati di vendita storici di diverse sedi dei negozi per prevedere
le vendite future in quelle località. Puoi eseguire la previsione utilizzando la funzione ML.FORECAST
con il modello ARIMA_PLUS
o ARIMA_PLUS_XREG
.
Rilevamento di anomalie
Il rilevamento di anomalie rileva pattern insoliti nei dati, consentendo in modo proattivo in risposta a potenziali problemi o opportunità. Con i dati etichettati, puoi utilizzare vari modelli di machine learning supervisionati per questa attività. Puoi utilizzare lo regressione lineare e logistica, alberi potenziati, foreste casuali, reti neurali profonde, Modelli Wide and Deep o modello AutoML per il rilevamento di anomalie.
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 adottano principalmente due approcci:
- Filtro dei contenuti, che consiglia gli elementi in base alla somiglianza.
- Filtro collaborativo, che utilizza 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 BigQuery le funzionalità di machine learning. 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 saperne di più, consulta Introduzione alla governance dei dati in BigQuery.
Costi 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 favorire la scalabilità e l'esecuzione 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 adatte alle tue esigenze aziendali e, infine, generare insight utilizzabili per 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 di 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 qualsiasi versione cloud di ABAP SDK for Google Cloud.
L'API BigQuery sia abilitata nel tuo progetto Google Cloud.
Hai un dataset BigQuery e una tabella per archiviare i tuoi dati.
Carica i dati da un sistema di origine SAP in BigQuery
Per caricare i dati da un sistema di origine SAP in una tabella BigQuery:
con l'SDK ABAP per Google Cloud, utilizzi il metodo INSERT_ALL_TABLEDATA
della classe /GOOG/CL_BIGQUERY_V2
. Questi dati fungono da base
per addestrare i modelli di machine learning.
L'esempio di codice seguente 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 risorse di IA per ricavare informazioni dai dati aziendali. Uno di questi modelli è ARIMA_PLUS
,
che puoi utilizzare per prevedere i valori delle serie temporali future in base ai dati storici.
Ad esempio, puoi utilizzare il modello ARIMA_PLUS
per prevedere i volumi di vendita futuri in base
sulla base dei 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. Dopo il giorno
viene creato il modello, 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 tuo modello addestrato per generare insight.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 riquadro di navigazione.
Generare e pubblicare insight
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 tuo modello addestrato per generare insight.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.
Per ulteriori informazioni sugli argomenti, consulta la sezione La 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 avrà il seguente aspetto:
Fornisci insight
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 della generazione di previsioni
dei valori delle serie temporali future utilizzando il modello ARIMA_PLUS
e l'SDK ABAP on-premise o su qualsiasi cloud 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 insight generati possono essere scritti in un ambiente BigQuery temporaneo e recuperata 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 saperne di più sulla console Google Cloud, consulta Utilizzo della console Google Cloud.
- Per scoprire di più 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.
- Poni le tue domande e discuti dell'SDK ABAP per Google Cloud con la community sui 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