sql >> Base de Datos >  >> Database Tools >> DBeaver

Rastree ISS con SAP Data Intelligence y SAP HANA:almacene y analice datos

Este ejemplo se usa como demostración en una sesión INT105:Construir canalizaciones de datos con SAP Data Intelligence en SAP TechEd 2020. Le invitamos a unirse a esta sesión y ver esa demostración. Pero no es un requisito previo, si desea continuar con esta publicación.

En la publicación anterior, comenzamos a crear una canalización de datos en SAP Data Intelligence para ingerir datos de un punto final de API y para transformar los datos del formato codificado TLE a una carga JSON legible. Ahora es el momento de cargar estos datos, y usaremos SAP HANA, edición express, para eso.

Ok, continuemos nuestro viaje...

Añadir configuración de conexión SAP HANA

Vayamos a la aplicación Gestión de conexiones en SAP Data Intelligence.

En el default arrendatario de una instancia de prueba, puede establecer una conexión HANA_LOCALHOST entre otros. Podría ser una buena opción para jugar si desea leer/escribir datos de SAP HANA desde dentro Instancia de prueba de inteligencia de datos. Pero en nuestro caso, también quiero poder tener acceso a los datos en SAP HANA db de otros clientes externos.

Vamos a crear otra conexión. Como mencioné, será una instancia alojada en la nube de SAP HANA, edición express. Lo llamaré MyHXE_HXE_SYSTEM .

Es posible que vea que estoy activando Use TLS opción activada. Es mejor prevenir que lamentar.

Conexión de prueba tuvo éxito, así que déjame Crear esta configuración.

Comprobar objetos en el Explorador de metadatos

Ahora que se ha creado la conexión, verifiquémosla en la aplicación Metadata Explorer. Si no está familiarizado con el Explorador de metadatos, le recomiendo que primero consulte los tutoriales:

  • Usar, descubrir y perfilar datos con SAP Data Intelligence, edición de prueba

En la aplicación, vaya a Catálogo> Examinar conexiones…

… y luego a nuestra conexión (en mi caso es MyHXE_HXE_SYSTEM ) y al SYSTEM esquema. En mi sistema está vacío por el momento.

Agregue el operador SAP HANA a la canalización de datos

Volviendo a la aplicación Modeler y nuestro gráfico creado en la publicación anterior, agreguemos un operador de cliente SAP HANA a la canalización de datos.

Conecte el out del último Wiretap puerto a los data del cliente de HANA puerto.

Configuremos el operador definiendo los siguientes parámetros:

  • Nombre:ISS locs to SAP HANA
  • Conexión:MyHXE_HXE_SYSTEM desde el Administrador de conexiones
  • Nombre de la tabla:"ISS_TRACK"
  • Columnas de la tabla:[{"name":"TSTMP","type":"SECONDDATE"},{"name":"LAT","type":"DOUBLE"},{"name":"LON","type":"DOUBLE"},{"name":"ALT","type":"INTEGER"}]
  • Formato de entrada:JSON
  • Modo de inserción:INSERT
  • Inicialización de la tabla:Crear
  • Salida decimal:Coma flotante
  • Terminar por error:Falso

La configuración JSON de las columnas de la tabla debería permitirnos ver una buena vista del formulario cuando se abre en la vista previa de Detalles de la tabla.

Una vez que se completa esta configuración adicional, es hora de guardar y ejecutar el gráfico.

Y una vez que se está ejecutando...

Compruebe el ISS_TRACK objeto en el Explorador de metadatos

Vuelva al Explorador de metadatos. Si es necesario, actualice la pantalla para ver los cambios en el SYSTEM esquema de MyHXE_HXE_SYSTEM conexión.

Debería ver ISS_TRACK objeto del tipo "Tabla" allí.

Vaya a la hoja de datos de este objeto y cambie a la vista de vista previa de datos. Debería ver los datos insertados por el gráfico en ejecución.

Deje que el gráfico se ejecute durante al menos 10 minutos para recopilar algunos datos.

Exploración de datos en SAP HANA

Una vez que haya al menos 10 minutos de datos recopilados, podemos detener la ejecución del gráfico y pasar a la exploración de datos en SAP HANA.

Si siguió mis publicaciones anteriores, sabrá que gracias a Mathias Kemeter me gusta usar el administrador de base de datos DBeaver gracias a su agradable visualización integrada de datos espaciales.

Echemos un vistazo a la ruta que hizo la ISS mientras ejecutaba un gráfico recopilando los datos.

SELECT UTCTOLOCAL("TSTMP") AS "TSTMP", "LON", "LAT", "ALT", 
SECONDS_BETWEEN (UTCTOLOCAL("TSTMP"), NOW()) AS "Sec_Ago", 
NEW ST_POINT('Point Z('||"LON"||' '||"LAT"||' '||"ALT"||')',4326) AS "Loc3D"
FROM "ISS_TRACK";

Calculemos la "velocidad respecto al suelo" del satélite, como si se moviera en la superficie de la Tierra, en la última marca de tiempo registrada.

SELECT TOP 1
  UTCTOLOCAL ("TSTMP", 'CET') as TIMECET,
  ROUND(IFNULL(NEW ST_Point('POINT ('||"LON"||' '||"LAT"||')', 4326).ST_Distance
  (NEW ST_Point('POINT ('||LAG("LON", 1, "LON") OVER (ORDER BY "TSTMP")||' '||LAG("LAT", 1, "LAT") OVER (ORDER BY "TSTMP")||')', 4326), 'kilometer')/
  SECONDS_BETWEEN (LAG("TSTMP", 1) OVER (ORDER BY "TSTMP"),"TSTMP"), 0), 2) AS "KMpS"
FROM
	(SELECT TOP 2 
		UTCTOLOCAL("TSTMP") AS "TSTMP", "LON", "LAT", "ALT", 
		SECONDS_BETWEEN (UTCTOLOCAL("TSTMP"), NOW()) AS "Sec_Ago", 
		NEW ST_POINT('Point Z('||"LON"||' '||"LAT"||' '||"ALT"||')',4326) AS "Loc3D"
	FROM "SYSTEM"."ISS_TRACK"
	ORDER BY "TSTMP" DESC)
ORDER BY "TSTMP" DESC

6,33 kilómetros por segundo. ¡Sin recibir una multa por exceso de velocidad!


No