Този пример се използва като демонстрация в сесия INT105 – Изграждане на тръбопроводи за данни със SAP Data Intelligence на SAP TechEd 2020. Вие сте повече от добре дошли да се присъедините към тази сесия и да гледате тази демонстрация. Но това не е задължително условие, ако искате да продължите с тази публикация.
В предишната публикация започнахме да изграждаме поток от данни в SAP Data Intelligence за приемане данни от крайна точка на API и за трансформиране данните от TLE кодирания формат в четим JSON полезен товар. Сега е време за зареждане тези данни и ние ще използваме SAP HANA, експресно издание, за това.
Добре, нека продължим нашето пътуване...
Добавете конфигурация на връзката на SAP HANA
Да отидем на приложението за управление на връзки в SAP Data Intelligence.
В default
наемател на пробен екземпляр можете да свържете връзка HANA_LOCALHOST
наред с други. Може да е добър вариант за игра, ако искате да четете/запишете данни от SAP HANA от вътре Пробен екземпляр на Data Intelligence. Но в нашия случай искам да мога да имам достъп до данни в SAP HANA db и от други външни клиенти.
Нека създадем друга връзка. Както споменах, това ще бъде хостван в облак екземпляр на SAP HANA, експресно издание. Ще го нарека MyHXE_HXE_SYSTEM
.
Може да видите, че обръщам Use TLS
опция включена. По-добре е да сте в безопасност, отколкото да съжалявате.
Тестване на връзката беше успешен, така че нека Създавам тази конфигурация.
Проверете обекти в Metadata Explorer
След като връзката е създадена, нека я проверим в приложението Metadata Explorer. Ако не сте запознати с Metadata Explorer, бих препоръчал първо да проверите уроци:
- Използвайте, откривайте и профилирайте данни с SAP Data Intelligence, пробно издание
В приложението отидете на Каталог> Преглед на връзки...
… и след това към нашата връзка (в моя случай това е MyHXE_HXE_SYSTEM
) и към SYSTEM
схема. В моята система е празен за момента.
Добавете SAP HANA оператор към конвейера за данни
Обратно към приложението Modeler и нашата графика, създадена в предишната публикация, нека добавим оператор SAP HANA Client към тръбопровода за данни.
Свържете out
на последното подслушване порт към data
на HANA клиента порт.
Нека конфигурираме оператора, като дефинираме следните параметри:
- Име:
ISS locs to SAP HANA
- Връзка:
MyHXE_HXE_SYSTEM
от Мениджъра на връзките - Име на таблицата:
"ISS_TRACK"
- Колони на таблицата:
[{"name":"TSTMP","type":"SECONDDATE"},{"name":"LAT","type":"DOUBLE"},{"name":"LON","type":"DOUBLE"},{"name":"ALT","type":"INTEGER"}]
- Въведен формат:JSON
- Режим на вмъкване:INSERT
- Инициализация на таблицата:Създаване
- Десетичен изход:Плуваща запетая
- Прекратяване при грешка:False
Конфигурацията на JSON на колоните на таблицата трябва да ни позволи да видим приятен изглед на формуляр, когато е отворен в предварителен преглед с подробности за таблицата.
След като тази допълнителна конфигурация приключи, е време да запазите и изпълните графиката.
И след като работи...
Проверете ISS_TRACK
обект в Metadata Explorer
Върнете се към Metadata Explorer. Ако е необходимо, опреснете екрана, за да видите промените в SYSTEM
схема на MyHXE_HXE_SYSTEM
връзка.
Трябва да видите ISS_TRACK
обект от типа „Таблица“ там.
Отидете на информационния лист на този обект и превключете към изглед за преглед на данни. Трябва да видите данни, вмъкнати от текущата графика.
Оставете графиката да работи поне 10 минути, за да съберете някои данни.
Проучване на данни в SAP HANA
След като има събрани поне 10 минути данни, можем да спрем изпълнението на графиката и да преминем към изследване на данни в SAP HANA.
Ако сте проследили предишните ми публикации, значи знаете, че благодарение на Матиас Кеметр обичам да използвам мениджъра на базата данни DBeaver благодарение на хубавата му вградена визуализация на пространствени данни.
Нека да видим какъв път направи МКС, докато изпълнявах графика, събираща данните.
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";
Нека да изчислим „земната скорост“ на спътника — сякаш се движи на повърхността на Земята — при последното записано времево клеймо.
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 километра в секунда. Без да получите глоба за превишена скорост!