Esta será una serie de blogs que explicarán las capacidades multimodelo de SAP HANA Cloud/SAP Data Warehouse Cloud con un escenario. Así que tome un café antes de pasar por esta serie de arquitectura, soluciones, implementación con repositorios de código y, finalmente, una versión extendida de la serie como una misión SAP Discovery (por publicarse).
Hemos publicado misiones de descubrimiento para SAP Business Technology Platform[SAP BTP] adopciones centradas en SAP HANA Cloud y SAP Data Warehouse Cloud [SAP DWC] basado en casos de uso de referencia del cliente. Cuando el caso de uso es específico, puede cubrir o no todas las características más recientes que se lanzaron como parte de nuestra plataforma. Por lo tanto, planeamos esta vez cubrirlos y usar un escenario interesante que podría despertar su interés para explorar todas las capacidades de varios modelos. [hopefully!]. No nos limitemos a los componentes BTP y también hablemos sobre las opciones de implementación utilizando servicios de hiperescalador/marcos de código abierto.
Spotify es uno de los proveedores de servicios multimedia y de transmisión de audio más exitosos que se enfoca en la verdadera «Experiencia del cliente» o, mejor dicho, está obsesionado con el cliente. Hacen que la experiencia del cliente sea lo más personal posible. [at least from my experience 😊 ]. Las razones importantes son
Ahora, con esta introducción a la plataforma Spotify Developer, entremos en el escenario de cómo planeamos usar SAP HANA Cloud/SAP DWC para consumir sus API y procesar los datos semiestructurados o JSON.
Hay escenarios adicionales que explicaremos en la arquitectura y se cubrirán como parte de Discovery Missions.
Considere esta arquitectura para consumir las API de Spotify con SAP HANA Cloud y déjeme explicarla en detalle. Además, usaré los números que he agregado en el diagrama de arquitectura mientras explico el escenario.
Spotify proporciona API web[1] para consumir listas de reproducción públicas, pistas, artistas, álbumes, podcasts y extraer funciones de audio para todas las pistas. Para consumir estas API, usaré Python y Spotipy paquete . Ya han compartido suficientes fragmentos de código de muestra sobre cómo usar la autenticación, llame a las API para todos los escenarios. Acabo de juntar las piezas para tener la estructura JSON válida que necesitamos para almacenarla como colección en SAP HANA Cloud. Además, se agregaron funciones separadas para recorrer listas de reproducción, capturar características de audio de cada pista en cada lista de reproducción y almacenarlas en una colección separada.
Podemos analizar las diferentes opciones de implementación que podemos considerar al ingerir documentos JSON en SAP HANA Cloud. Aquí están las opciones
Para validar si la ingestión funciona bien, puede ejecutar los scripts[2.1] directamente desde Google Colab/Visual Studio o cualquier entorno Python de su elección. Además, el código se puede ejecutar desde una VM/cualquier computación que se pueda usar para la extracción/ingesta de datos. Básicamente, llamará a las API usando bibliotecas Spotipy y usará la biblioteca hana_ml para insertar los documentos JSON capturados como colecciones. [4].
Use la misma secuencia de comandos de Python, pero incorpórela con Docker e impleméntela con SAP Kyma.[2.2]. Luego programe la ejecución cada semana para que pueda recopilar listas de reproducción semanales para diferentes países e ingerirlas en SAP HANA Cloud.[4]. Ya he explicado cómo contenerizar y desplegar en este Blog. Solo necesita seguir los mismos pasos para el escenario actual.
Si desea explorar servicios similares de hiperescaladores, también puede intentar usar el mismo código de Python, enviarlo a git repo y usar Google Cloud Platform App Engine.[2.3](Estándar/Flexible) para programar la ingesta de datos en SAP HANA Cloud[4] . Ya he explicado cómo contenerizar y desplegar en este Blog. Solo necesita seguir los mismos pasos para el escenario actual.
Y, por supuesto, podría pensar en diferentes escenarios para la ingesta de datos utilizando Integration Suite o SAP Data Intelligence.
Una vez que haya decidido las opciones de implementación (2.1-2.3), toda la respuesta de las API de Spotify se almacenará como documentos JSON en HANA Cloud. Se almacenarán como Colecciones bajo un esquema. Si lo está programando con SAP Kyma o GCP App Engine, puede organizar el nombre del documento JSON por fecha o semana antes de la ingesta con el paquete hana_ml.
Ahora que tenemos las mejores canciones y funciones de audio de todas las listas de reproducción por país, podemos crear vistas de cálculo y consumir los datos usando SAC.[6]. Podemos incluir cómputos de R con el servidor provisto en SAC o conectando el servidor R local. O también podría consumir los datos usando Microsoft Power BI [7]. Lo estoy usando porque hay algunas funciones directas para mostrar imágenes sobre la marcha desde una tabla.
Hay otros escenarios que podemos considerar después del paso 4, ingesta de respuestas de API en HANA Cloud. Considere este flujo de arquitectura 4 -> 8 -> 9 . Una vez que hayamos ingerido los datos, podemos comparar la lista de reproducción de los gráficos principales con sus propias listas de reproducción privadas utilizando Graph Engine.[8]. Podemos comparar colecciones de ambos y ver cuáles son los artistas comunes, y las canciones que tiene en común tienen las métricas correspondientes que se muestran utilizando SAP Cloud Application Programming o SAP Build. O podemos exponer los datos computacionales basados en gráficos a través del marco web basado en Python, Django.
El flujo de la arquitectura es casi el mismo que el de SAP HANA Cloud, excepto algunos cambios menores. Solo explicaría las diferencias y los pasos que debe realizar desde SAP HANA Cloud. Como puede ver en la siguiente arquitectura, SAP DWC no habilita las capacidades de Document Store (a partir de ahora) para almacenar datos como JSON Collection. En su lugar, incorporaremos los datos como un objeto grande dentro del arrendatario de HANA Cloud de SAP DWC. tenemos el estandar Función JSON a SQL que podemos aplicar en el objeto grande y extraer la respuesta. Y el resultado sería el mismo que extrajimos de la colección HANA Cloud JSON.
Estos son los pasos a seguir para SAP DWC:
También puede exponer los mismos datos para crear aplicaciones usando SAP CAP[7] compilación de SAP[7] o el marco externo basado en web como Django[9]
Una vez que pase por uno de los escenarios, diga informes basados en las mejores pistas de diferentes países, podrá comparar las métricas de Danceability (cálculo R) y visualizar los datos en SAP SAC como se ve a continuación. La siguiente visualización compara las 500 mejores canciones de 10 países diferentes en función de la métrica Danceability: la regularidad general de una canción en función del tempo, el ritmo, la estabilidad y la fuerza del ritmo… ¿lo sientes? 🙂
Y aquí hay otra métrica habla que se compara en todas las pistas agrupadas por país como se muestra a continuación [R computations using Spotify R package]. Todos estos códigos que usé para Spotify R ya se mencionan en el repositorios de github por diferentes desarrolladores de código abierto. Acabo de modificar de acuerdo con estos escenarios específicos y agregaré las referencias en mis blogs centrándome en la práctica.
Y aquí está la visualización de lo mismo en Power BI. Aquí comparamos las mismas métricas de bailabilidad y energía para todas las pistas de 10 países diferentes. Además, Power BI tiene una característica genial de mostrar imágenes sobre la marcha y parte de la tabla. ¡Y sí, el nuevo álbum de Taylor Swift es genial! ¿Aún lo sientes?
Según el tipo de implementación que pruebe o pruebe, aprenderá algunos o todos los temas que se mencionan a continuación 😊
Pasamos por diferentes opciones de arquitectura usando SAP HANA Cloud/ SAP DWC. Espero que le proporcione una descripción general de alto nivel sobre cómo procesar los datos semiestructurados. Ahora centrémonos en la parte de implementación. En los siguientes blogs, hablaré sobre el consumo de datos semiestructurados en SAP HANA Cloud/SAP DWC y su consumo para generar informes. También cubriremos escenarios centrándonos en Graph Engine comparando listas de reproducción públicas y privadas y consumiéndolas en aplicaciones basadas en SAP CAP o SAP Build Apps. Y, finalmente, incorporar reproductores web en Django con SAP HANA Cloud como backend y extraer métricas basadas en las canciones reproducidas.
Por favor, háganos saber sus comentarios. Si la arquitectura y las opciones de implementación le interesan, continúe con parte 2 donde se comenta la implementación basada en SAP HANA Cloud. Y si está buscando acceso a SAP HANA Cloud, puede registrarse individualmente usando Nivel gratuito de SAP ofrendas
Feliz aprendizaje !
Calle Eloy Gonzalo, 27
Madrid, Madrid.
Código Postal 28010
Paseo de la Reforma 26
Colonia Juárez, Cuauhtémoc
Ciudad de México 06600
Real Cariari
Autopista General Cañas,
San José, SJ 40104
Av. Jorge Basadre 349
San Isidro
Lima, LIM 15073