En este documento, se describe una arquitectura de referencia para usar BigQuery AA y compilar una solución de aprendizaje automático en tu entorno de SAP con la edición local o cualquier edición en la nube del SDK de ABAP para Google Cloud. Con la ayuda de la arquitectura de referencia que se explica en este documento, puedes compilar soluciones que extraigan estadísticas basadas en datos para acelerar tus procesos de toma de decisiones empresariales en SAP.
El público objetivo de este documento incluye a desarrolladores de ABAP, arquitectos de soluciones de SAP y arquitectos de nube. En el documento, se supone que conoces BigQuery y SQL.
Arquitectura
En el siguiente diagrama, se muestra una arquitectura de referencia para una solución de aprendizaje automático que proporciona estadísticas empresariales basadas en los datos de un sistema ERP de SAP:
Esta arquitectura de solución de aprendizaje automático incluye los siguientes componentes:
Componente | Subsistema | Detalles |
---|---|---|
1 | Fuente de datos | Un sistema de ERP de SAP, como SAP S/4HANA, que es la fuente de los datos empresariales |
2 | Almacén de datos | BigQuery, que almacena datos sin procesar de los sistemas de origen y las estadísticas generadas por el AA. |
3 | Aprendizaje automático: entrenamiento | Modelos de aprendizaje automático, que se entrenan con datos de origen para generar estadísticas empresariales |
4 | Aprendizaje automático: Publica estadísticas | Componentes que muestran estadísticas empresariales generadas por el AA para su consumo en SAP |
Productos usados
En esta arquitectura de referencia, se usan los siguientes productos de Google Cloud:
- SDK de ABAP para Google Cloud: Te ayuda a desarrollar aplicaciones de ABAP que conectan tus sistemas SAP a los servicios de Google Cloud, como BigQuery.
- BigQuery: Te ayuda a administrar y analizar tus datos empresariales.
Casos de uso
BigQuery ML permite a los usuarios de SAP obtener estadísticas valiosas para mejorar la toma de decisiones y los resultados empresariales mediante los datos empresariales almacenados en BigQuery. En esta sección, se proporcionan ejemplos de casos de uso para los que puedes usar BigQuery ML para crear soluciones de aprendizaje automático.
Previsión
La previsión en BigQuery ML implica analizar datos históricos de series temporales para predecir tendencias futuras. Por ejemplo, puedes analizar los datos históricos de ventas de varias ubicaciones de tiendas para predecir las ventas futuras en esas ubicaciones. Puedes realizar una previsión mediante la función ML.FORECAST
con el modelo ARIMA_PLUS
o ARIMA_PLUS_XREG
.
Detección de anomalías
La detección de anomalías encuentra patrones inusuales en los datos, lo que permite una respuesta proactiva a posibles problemas o oportunidades. Con los datos etiquetados, puedes utilizar varios modelos de aprendizaje automático supervisado para esta tarea. Puedes usar la regresión lineal y logística, los árboles potenciados, los bosques aleatorios, las redes neuronales profundas, los modelos de amplitud y profundidad o el modelo de AutoML para la detección de anomalías.
Sistemas de recomendación
Los sistemas de recomendación son herramientas potentes para las empresas, ya que ayudan a los usuarios a descubrir contenido relevante en grandes colecciones. Estos sistemas usan el aprendizaje automático para sugerir elementos que los usuarios podrían no encontrar por su cuenta, lo que supera las limitaciones de la búsqueda. Los sistemas de recomendación emplean principalmente dos enfoques:
- Filtrado basado en el contenido, que recomienda elementos según la similitud.
- Filtrado colaborativo, que usa similitudes entre los usuarios y sus preferencias.
Consideraciones del diseño
En esta sección, se proporciona orientación para ayudarte a usar esta arquitectura de referencia para desarrollar arquitecturas que te ayuden a cumplir con tus requisitos específicos de seguridad, privacidad, cumplimiento, costo y rendimiento.
Security, privacy, and compliance
Para implementar políticas de administración de datos, puedes usar las funciones de BigQuery. La administración de datos administra la seguridad y la calidad de los datos durante su ciclo de vida para garantizar que el acceso y la exactitud cumplan con las políticas y reglamentaciones. Para obtener más información, consulta Introducción a la administración de datos en BigQuery.
Costo y rendimiento
Para obtener una estimación del costo de los recursos de Google Cloud que usa la solución de almacén de datos con BigQuery, consulta la estimación calculada previamente en la calculadora de precios de Google Cloud.
A medida que comienzas a escalar con BigQuery, tienes varias formas disponibles para ayudar a mejorar el rendimiento de las consultas y reducir el gasto total. Estos métodos incluyen cambiar la forma en que tus datos se almacenan de forma física, modificar tus consultas de SQL y usar reservas de ranuras para garantizar el rendimiento de los costos. Para obtener más información sobre las formas de escalar y ejecutar tu almacén de datos, consulta Introducción a la optimización del rendimiento de las consultas.
Alternativa de diseño
Si bien este documento se enfoca en las ediciones locales o en la nube del SDK de ABAP para Google Cloud, puedes lograr resultados similares con la edición de SAP BTP del SDK de ABAP para Google Cloud. Puedes adaptar los recursos proporcionados para compilar soluciones similares dentro de tu entorno de SAP BTP.
Implementación
En esta sección, se muestra cómo cargar datos de tu sistema SAP de origen en BigQuery, crear un modelo de aprendizaje automático adecuado para tus requisitos comerciales y, por último, generar estadísticas que se pueden usar para tomar decisiones comerciales en SAP.
Antes de comenzar
Antes de implementar una solución basada en esta arquitectura de referencia, asegúrate de que completaste los siguientes requisitos previos:
Tienes una cuenta y un proyecto de Google Cloud.
La facturación está habilitada en tu proyecto. Para obtener información sobre cómo confirmar que tienes habilitada la facturación en un proyecto, consulta Verifica el estado de facturación de tus proyectos.
Tener instalada y configurada la edición local o cualquier edición en la nube del SDK de ABAP para Google Cloud
Se configuró la autenticación para acceder a las APIs de Google Cloud. Si deseas obtener información para configurar la autenticación, consulta Descripción general de la autenticación para las ediciones locales o en la nube del SDK de ABAP para Google Cloud.
La API de BigQuery está habilitada en tu proyecto de Google Cloud.
Tienes un conjunto de datos y una tabla de BigQuery para almacenar tus datos.
Carga datos de un sistema de origen de SAP en BigQuery
Para cargar datos de un sistema de origen de SAP en una tabla de BigQuery con el SDK de ABAP para Google Cloud, usa el método INSERT_ALL_TABLEDATA
de la clase /GOOG/CL_BIGQUERY_V2
. Estos datos sirven como base para entrenar los modelos de aprendizaje automático.
En la siguiente muestra de código, se muestra cómo cargar datos de un sistema de origen de SAP a una tabla de 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.
Reemplaza lo siguiente:
CLIENT_KEY
: Es la clave del cliente configurada para la autenticación.BIGQUERY_DATASET
: El ID del conjunto de datos de BigQuery de destino.BIGQUERY_TABLE
: Es el ID de la tabla de BigQuery de destino.
Como alternativa, si buscas una solución de transferencia de datos de BigQuery sin código que controle la carga inicial y el control de delta (CDC), puedes considerar BigQuery Connector para SAP, Cloud Data Fusion o SAP Datasphere.
Crea un modelo de aprendizaje automático
BigQuery proporciona una lista completa de modelos de aprendizaje automático y recursos de IA para obtener estadísticas a partir de datos empresariales. Uno de esos modelos es ARIMA_PLUS
, que puedes usar para predecir valores futuros de series temporales en función de datos históricos.
Por ejemplo, puedes usar el modelo ARIMA_PLUS
para predecir los volúmenes de ventas futuros en función de los datos históricos. Para entrenar un modelo nuevo con los datos de SAP que cargaste en BigQuery, usa la sentencia CREATE MODEL
. Según el tamaño de tus datos, la ejecución puede tardar unos minutos o horas. Después de
crear el modelo, puedes verlo
en BigQuery Studio.
Para crear y entrenar tu modelo, ejecuta la sentencia CREATE MODEL
:
En la consola de Google Cloud, haz clic en el botón Redactar consulta nueva.
Ingresa la siguiente consulta de GoogleSQL en el Editor de consultas:
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}`
Reemplaza lo siguiente:
MODEL_NAME
: Es el nombre del modelo que entrenaste para generar estadísticas.TIME_SERIES_TIMESTAMP_COL
: Es el nombre de la columna que proporciona los puntos de tiempo que se usan para entrenar el modelo.TIME_SERIES_DATA_COL
: Es el nombre de la columna que contiene los datos que se deben pronosticar.
Para obtener más información sobre los argumentos, consulta la sintaxis de
CREATE MODEL
.Haz clic en Ejecutar. Tu modelo aparecerá en el panel de navegación.
Genera y publica estadísticas
Puedes generar estadísticas con tu modelo de aprendizaje automático.
Por ejemplo, si creaste un modelo ARIMA_PLUS
, puedes usarlo para generar estadísticas para los valores de las series temporales, como las predicciones de ventas futuras.
Generar estadísticas
Para generar estadísticas basadas en un modelo entrenado, sigue estos pasos:
En la consola de Google Cloud, haz clic en el botón Redactar consulta nueva.
Ingresa la siguiente consulta de GoogleSQL en el Editor de consultas:
SELECT * FROM ML.FORECAST(MODEL `MODEL_NAME`, STRUCT(HORIZON AS horizon, CONFIDENCE_LEVEL AS confidence_level));
Reemplaza lo siguiente:
MODEL_NAME
: Es el nombre del modelo que entrenaste para generar estadísticas.HORIZON
: Un valorINT64
que especifica la cantidad de puntos en el tiempo que se deben pronosticar.CONFIDENCE_LEVEL
: Un valorFLOAT64
que especifica el porcentaje de los valores futuros que se incluyen en el intervalo de predicción.
Para obtener más información sobre los argumentos, consulta La función
ML.FORECAST
.Haz clic en Ejecutar. El modelo de AA proporciona un resultado de valores previstos para fechas futuras.
Cuando la consulta finalice, haz clic en la pestaña Resultados. Los resultados deberían verse como los siguientes:
Publica estadísticas
Para publicar predicciones generadas para decisiones empresariales basadas en datos desde tu aplicación de SAP con el SDK de ABAP para Google Cloud, usa el método QUERY_JOBS
de la clase /GOOG/CL_BIGQUERY_V2
.
Para ayudarte a implementar la solución de ejemplo que se explica en esta sección con un esfuerzo mínimo, se proporciona una muestra de código en GitHub.
En esta muestra de código, se muestra un ejemplo de extremo a extremo para generar previsiones de valores futuros de series temporales con el modelo ARIMA_PLUS
y las ediciones locales o en la nube del SDK de ABAP para Google Cloud.
¿Qué sigue?
- Para obtener una descripción general de BigQuery ML, consulta Introducción a BigQuery ML.
- Para evaluar los modelos de aprendizaje automático de BigQuery disponibles para tu proceso y requisitos empresariales, consulta Recorrido del usuario de extremo a extremo para cada modelo.
- En lugar de realizar consultas ad hoc para obtener predicciones de BigQuery ML, puedes usar Cloud Run para generar automáticamente estadísticas de datos nuevos o modificados en BigQuery. Las estadísticas generadas se pueden escribir en una tabla temporal de BigQuery y, luego, una aplicación de SAP puede recuperarlas.
- Para extraer más valor y estadísticas de tus datos de SAP, puedes usar la Cortex Data Foundation de Google Cloud, que proporciona una base de datos escalable y extensible, junto con modelos y canalizaciones de datos precompilados para casos de uso comerciales comunes relacionados con SAP.
- Para obtener más información sobre la consola de Google Cloud, consulta Usa la consola de Google Cloud.
- Para obtener información sobre el SDK de ABAP para Google Cloud, consulta Descripción general del SDK de ABAP para Google Cloud.
Si necesitas ayuda para resolver problemas con el SDK de ABAP para Google Cloud, haz lo siguiente:
- Consulta la guía de solución de problemas del SDK de ABAP para Google Cloud.
- Haz tus preguntas y analiza el SDK de ABAP para Google Cloud con la comunidad en Cloud Forums.
- Recopila toda la información de diagnóstico disponible y comunícate con el servicio de Atención al cliente de Cloud. Si deseas obtener más información para comunicarte con el equipo de Atención al cliente, consulta Obtén asistencia para SAP en Google Cloud.
Colaboradores
Autor: Ajith Urimajalu | Ingeniero de aplicaciones de SAP y líder de equipo
Otro colaborador: Vikash Kumar | Escritor técnico