DBeaver
 sql >> Database >  >> Database Tools >> DBeaver

Tieni traccia della ISS con SAP Data Intelligence e SAP HANA:archivia e analizza i dati

Questo esempio viene utilizzato come demo in una sessione INT105 – Crea pipeline di dati con SAP Data Intelligence al SAP TechEd 2020. Sei più che benvenuto a partecipare a questa sessione e a guardare quella demo. Ma non è un prerequisito, se vuoi continuare con questo post.

Nel post precedente abbiamo iniziato a creare una pipeline di dati in SAP Data Intelligence per ingestire dati da un endpoint API e da trasformare i dati dal formato codificato TLE in un payload JSON leggibile. Ora è il momento di caricare questi dati e per questo utilizzeremo SAP HANA, edizione express.

Ok, continuiamo il nostro viaggio...

Aggiungi la configurazione della connessione SAP HANA

Andiamo all'applicazione Connection Management in SAP Data Intelligence.

Nel default tenant di un'istanza di prova è possibile una connessione HANA_LOCALHOST tra gli altri. Potrebbe essere una buona opzione con cui giocare se desideri leggere/scrivere dati da SAP HANA da all'interno Istanza di prova di Data Intelligence. Ma nel nostro caso voglio poter accedere ai dati in SAP HANA db anche da altri client esterni.

Creiamo un'altra connessione. Come ho già detto, sarà un'istanza ospitata nel cloud di SAP HANA, edizione express. Lo chiamerò MyHXE_HXE_SYSTEM .

Potresti vedere che sto trasformando Use TLS opzione attiva. È meglio prevenire che curare.

Verifica connessione ha avuto successo, quindi fammi Creare questa configurazione.

Controlla gli oggetti in Esplora metadati

Ora che la connessione è stata creata, controlliamola nell'applicazione Metadata Explorer. Se non hai familiarità con Metadata Explorer, ti consiglio di controllare prima i tutorial:

  • Utilizza, scopri e profila i dati con SAP Data Intelligence, versione di prova

Nell'applicazione vai su Catalogo> Sfoglia connessioni...

… e poi alla nostra connessione (nel mio caso è MyHXE_HXE_SYSTEM ) e al SYSTEM schema. Nel mio sistema è vuoto per il momento.

Aggiungi l'operatore SAP HANA alla pipeline di dati

Tornando all'applicazione Modeler e al nostro grafico creato nel post precedente, aggiungiamo un operatore SAP HANA Client alla pipeline di dati.

Collega il out dell'ultima intercettazione porta ai data del Cliente HANA porta.

Configuriamo l'operatore definendo i seguenti parametri:

  • Nome:ISS locs to SAP HANA
  • Connessione:MyHXE_HXE_SYSTEM da Gestione connessioni
  • Nome tabella:"ISS_TRACK"
  • Colonne della tabella:[{"name":"TSTMP","type":"SECONDDATE"},{"name":"LAT","type":"DOUBLE"},{"name":"LON","type":"DOUBLE"},{"name":"ALT","type":"INTEGER"}]
  • Formato di input:JSON
  • Modalità di inserimento:INSERTO
  • Inizializzazione tabella:Crea
  • Uscita decimale:virgola mobile
  • Termina in caso di errore:Falso

La configurazione JSON delle colonne della tabella dovrebbe consentirci di vedere una bella visualizzazione del modulo, una volta aperta nell'anteprima Dettagli tabella.

Una volta completata questa configurazione aggiuntiva, è il momento di salvare ed eseguire il grafico.

E una volta che è in esecuzione...

Controlla il ISS_TRACK oggetto in Esplora metadati

Torna a Esplora metadati. Se necessario, aggiorna lo schermo per vedere le modifiche nel SYSTEM schema di MyHXE_HXE_SYSTEM connessione.

Dovresti vedere ISS_TRACK oggetto del tipo “Tabella”.

Vai alla scheda informativa di questo oggetto e passa alla visualizzazione Anteprima dati. Dovresti vedere i dati inseriti dal grafico in esecuzione.

Lascia che il grafico venga eseguito per almeno 10 minuti per raccogliere alcuni dati.

Esplorazione dei dati in SAP HANA

Dopo aver raccolto almeno 10 minuti di dati, possiamo interrompere l'esecuzione del grafico e passare all'esplorazione dei dati in SAP HANA.

Se hai seguito i miei post precedenti, allora sai che grazie a Mathias Kemeter mi piace usare DBeaver database manager grazie alla sua bella visualizzazione integrata dei dati spaziali.

Diamo un'occhiata al percorso fatto dalla ISS mentre stavo eseguendo un grafico che raccoglieva i dati.

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";

Calcoliamo la "velocità al suolo" del satellite, come se si muovesse sulla superficie terrestre, all'ultimo timestamp registrato.

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 chilometri al secondo. Senza prendere una multa per eccesso di velocità!


No