この例は、セッションINT105 – SAPDataIntelligenceを使用したデータパイプラインの構築のデモとして使用されます。 SAP TechEd 2020で。このセッションに参加して、そのデモをご覧ください。ただし、この投稿を続行する場合は、前提条件ではありません。
前回の投稿では、SAPDataIntelligenceでデータパイプラインの構築を開始して取り込みしました APIエンドポイントからのデータと変換 TLEエンコード形式から読み取り可能なJSONペイロードへのデータ。今度はロードの時間です このデータについては、SAP HANAExpressEditionを使用します。
では、旅を続けましょう…
SAPHANA接続構成を追加
SAPDataIntelligenceの接続管理アプリケーションに移動しましょう。
default
で トライアルインスタンスのテナントは、HANA_LOCALHOST
に接続できます。 とりわけ。 内からSAPHANAからデータを読み書きする場合は、さまざまな方法で試してみるとよいでしょう。 データインテリジェンストライアルインスタンス。しかし、私たちの場合、他の外部クライアントからもSAPHANAdbのデータにアクセスできるようにしたいと思います。
別の接続を作成しましょう。前述したように、これはSAP HANAExpressEditionのクラウドホストインスタンスになります。これをMyHXE_HXE_SYSTEM
と呼びます 。
あなたは私がUse TLS
を回しているのを見るかもしれません オプションをオンにします。申し訳ありませんが、安全である方が良いです。
接続のテスト 成功したので、作成させてください この構成。
メタデータエクスプローラーでオブジェクトを確認する
接続が作成されたので、MetadataExplorerアプリケーションで接続を確認しましょう。メタデータエクスプローラーに慣れていない場合は、最初にチュートリアルを確認することをお勧めします:
- SAP Data Intelligence、試用版でデータを使用、検出、プロファイルする
アプリケーションで、[カタログ]>[接続の参照...]に移動します…
…そして私たちの接続へ(私の場合はMyHXE_HXE_SYSTEM
)およびSYSTEM
スキーマ。私のシステムでは、今のところ空です。
SAPHANAオペレーターをデータパイプラインに追加
Modelerアプリケーションと前の投稿で作成したグラフに戻り、SAPHANAクライアントオペレーターをデータパイプラインに追加しましょう。
最後のWiretapのout
を接続します HANAクライアントのdata
へのポート ポート。
次のパラメータを定義して、演算子を構成しましょう。
- 名前:
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
- 挿入モード:挿入
- テーブルの初期化:作成
- 10進出力:浮動小数点
- エラーで終了:誤り
テーブル列のJSON構成により、テーブルの詳細プレビューで開いたときに、見栄えの良いフォームビューが表示されるはずです。
この追加の構成が完了したら、グラフを保存して実行します。
そして、実行されたら…
ISS_TRACK
を確認してください メタデータエクスプローラーのオブジェクト
メタデータエクスプローラーに戻ります。必要に応じて画面を更新し、SYSTEM
の変更を確認します MyHXE_HXE_SYSTEM
のスキーマ 接続。
ISS_TRACK
が表示されます そこに「テーブル」タイプのオブジェクト。
このオブジェクトのファクトシートに移動し、データプレビュービューに切り替えます。実行中のグラフによって挿入されたデータが表示されます。
グラフを少なくとも10分間実行して、データを収集します。
SAPHANAでのデータの調査
少なくとも10分間のデータが収集されたら、グラフの実行を停止して、SAPHANAでのデータの探索に移ることができます。
以前の投稿をフォローしている場合は、Mathias Kemeterのおかげで、空間データの優れた組み込みの視覚化のおかげでDBeaverデータベースマネージャーを使用するのが好きだということをご存知でしょう。
データを収集するグラフを実行しているときにISSがどのような経路をたどったかを見てみましょう。
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キロメートル。スピード違反の切符をもらわずに!