DBeaver
 sql >> Base de Dados >  >> Database Tools >> DBeaver

Acompanhe o ISS com SAP Data Intelligence e SAP HANA:armazene e analise dados


Este exemplo é usado como demonstração em uma sessão INT105 – Criar pipelines de dados com SAP Data Intelligence no SAP TechEd 2020. Você é mais que bem-vindo para participar desta sessão e assistir a essa demonstração. Mas não é um pré-requisito, se você quiser continuar com este post.

Na postagem anterior, começamos a construir um pipeline de dados no SAP Data Intelligence para ingerir dados de um endpoint de API e para transformar os dados do formato codificado TLE para uma carga JSON legível. Agora é hora de carregar esses dados, e usaremos o SAP HANA, edição expressa, para isso.

Bom, vamos continuar nossa jornada...


Adicionar configuração de conexão SAP HANA


Vamos para o aplicativo Connection Management no SAP Data Intelligence.

No default locatário de uma instância de teste, você pode uma conexão HANA_LOCALHOST entre outros. Pode ser uma boa opção se você quiser ler/gravar dados do SAP HANA de dentro Instância de avaliação de inteligência de dados. Mas no nosso caso eu quero poder ter acesso aos dados no SAP HANA db de outros clientes externos também.

Vamos criar outra conexão. Como mencionei, será uma instância hospedada na nuvem do SAP HANA, edição expressa. Vou chamá-lo de MyHXE_HXE_SYSTEM .



Você pode ver que estou transformando Use TLS opção ligada. É melhor estar seguro, do que remediar.

Testar conexão foi bem-sucedido, então deixe-me Criar esta configuração.

Verificar objetos no Metadata Explorer


Agora que a conexão foi criada, vamos verificá-la no aplicativo Metadata Explorer. Se você não estiver familiarizado com o Metadata Explorer, recomendo verificar primeiro os tutoriais:
  • Use, descubra e crie perfis de dados com o SAP Data Intelligence, edição de avaliação

No aplicativo, vá para Catálogo> Procurar Conexões…



… e depois para nossa conexão (no meu caso é MyHXE_HXE_SYSTEM ) e para o SYSTEM esquema. No meu sistema está vazio no momento.


Adicione o operador SAP HANA ao pipeline de dados


De volta ao aplicativo Modeler e ao nosso gráfico criado no post anterior, vamos adicionar um operador SAP HANA Client ao pipeline de dados.

Conecte a out do último grampo telefônico porta para os data do cliente HANA porta.

Vamos configurar o operador definindo os seguintes parâmetros:
  • Nome:ISS locs to SAP HANA
  • Conexão:MyHXE_HXE_SYSTEM do Gerenciador de conexões
  • Nome da tabela:"ISS_TRACK"
  • Colunas da tabela:[{"name":"TSTMP","type":"SECONDDATE"},{"name":"LAT","type":"DOUBLE"},{"name":"LON","type":"DOUBLE"},{"name":"ALT","type":"INTEGER"}]
  • Formato de entrada:JSON
  • Modo de inserção:INSERIR
  • Inicialização da tabela:Criar
  • Saída decimal:ponto flutuante
  • Encerrar no erro:Falso

A configuração JSON das colunas da tabela deve nos permitir ver uma boa visualização do formulário, quando aberto na visualização dos detalhes da tabela.



Depois que essa configuração adicional estiver concluída, é hora de salvar e executar o gráfico.



E uma vez que está em execução…

Verifique o ISS_TRACK objeto no Metadata Explorer


Volte para o Explorador de Metadados. Se necessário, atualize a tela para ver as alterações no SYSTEM esquema de MyHXE_HXE_SYSTEM conexão.

Você deve ver ISS_TRACK objeto do tipo “Tabela” ali.



Vá para a ficha técnica deste objeto e alterne para a visualização de visualização de dados. Você deve ver os dados inseridos pelo gráfico em execução.



Deixe o gráfico funcionar por pelo menos 10 minutos para coletar alguns dados.

Exploração de dados no SAP HANA


Quando houver pelo menos 10 minutos de dados coletados, podemos interromper a execução do gráfico e passar para a exploração de dados no SAP HANA.

Se você seguiu meus posts anteriores, sabe que, graças a Mathias Kemeter, gosto de usar o gerenciador de banco de dados DBeaver graças à sua boa visualização integrada de dados espaciais.

Vamos dar uma olhada no caminho que a ISS fez enquanto eu estava executando um gráfico coletando os dados.
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";



Vamos calcular a “velocidade no solo” do satélite – como se ele se movesse na superfície da Terra – no último registro de data e hora.

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 quilômetros por segundo. Sem receber uma multa por excesso de velocidade!

No