注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
このガイドで作成するパイプラインは、新しい時系列オブジェクトを作成するために、Carrier、Route、および Airport オブジェクトタイプ上の時系列プロパティに関連付けるための時系列同期を支える時系列データを生成します。このパイプラインは、時系列データセットから時系列プロパティへの標準的なマッピングよりも複雑な設定を含んでいます。なぜなら、時系列データではないデータに対して計算を行い、時系列データを生成するからです。一般的なパイプラインのガイダンスについては、Pipeline Builder ドキュメンテーションをご覧ください。
私たちが取り組んでいるフライトデータセットには、時系列プロパティを作成するために使用する次の行が含まれています。
string | フライトとデータセット内のすべての行を識別する一意の文字列。date | フライトが行われた日付。string | 目的地の空港を識別する文字列。string | 航空会社の ID。string | 出発空港の ID。integer | 出発が遅延した分数。integer | 到着が遅延した分数。string| ルートを識別する一意の文字列。このガイドの最後のパイプラインは次のようになります:

Flightsオブジェクトタイプの背後にあるのと同じフライトデータセットを使用して、いくつかの集約変換を実行し、フライトメトリクスに基づいた時系列データを生成できます。ヒストリアンやエッジセンサーから Foundry に時系列データが送られている場合、このステップは必要ありません。時系列同期を生成に進むことができます。
CarrierおよびRouteオブジェクトタイプに変換を適用するフライトデータセットから変換を適用します。これを Carrier と Route の両方のオブジェクトタイプで行います。
集約変換を使用して、オブジェクトの日付と ID (この場合、Route オブジェクトタイプの route_id を使用し、別途 Carrier オブジェクトタイプの airline_id を使用して同じことを行う必要があります)でグループ化し、平均到着遅延、平均出発遅延、および日次フライト数を計算します。

集約後、データセットは以下のスキーマでプレビューされるべきです:
| route_id | date | daily_avg_dep_delay | daily_avg_arr_delay | daily_count_of_flights |
|---|---|---|---|---|
| ATL -> SFO | 2023-06-12 | 33.4545454545450000 | 40.0000000000000000 | 11 |
| ATL -> FLL | 2023-08-24 | 29.7272727272720000 | 19.4090909090909100 | 22 |
| ATL -> TVC | 2023-07-05 | -8.0000000000000000 | -8.0000000000000000 | 1 |
この新しいデータを時系列として使用するためには、タイムスタンプ型の行を作成する必要があります。これを行うためには、キャスト変換を使用して date 行をタイムスタンプ型の行にキャストします。また、すぐにアンピボット変換を適用して daily_avg_dep_delay、daily_avg_arr_delay、および daily_count_of_flights の値を1つの行にマージします。この関数はすべての値が同じデータ型であることを必要とするため、日次フライト数のメトリックをダブル型にキャストする必要があります(これは平均遅延メトリクスと同じデータ型です)。

このデータセットには異なる行に時系列データが含まれているため、アンピボット変換を使用してそれを1つの値行にマージする必要があります。これにより、データは以下に示すような時系列同期の必須スキーマに一致します:
string | TSP が参照するタイムスタンプと値のペアのセットのシリーズ ID。これは TSP のシリーズ ID と一致する必要があります。timestamp または long | 量が測定される時間。integer、float、double、string | それが測定される時点の量の値。文字列型はカテゴリカルな時系列を示し、各カテゴリカルな時系列は最大で127のユニークなバリアントを持つことができます。下に示すアンピボット変換は、daily_avg_dep_delay、daily_avg_arr_delay、および daily_count_of_flights の値を同じ series_value 行に配置します。それらの元の行名は、series_id で使用する新しい series_name 行への出力です。

データセットのスキーマは次のようになるべきです:
| series_name | series_value | route_id | date |
|---|---|---|---|
| daily_avg_dep_delay | 33.4545454545450000 | ATL -> SFO | 2023-06-12T00:00:00.000Z |
| daily_avg_arr_delay | 40.0000000000000000 | ATL -> SFO | 2023-06-12T00:00:00.000Z |
| daily_count_of_flights | 11.0000000000000000 | ATL -> SFO | 2023-06-12T00:00:00.000Z |
これで、連結文字列変換を使用して series ID (関連する時系列値の識別子)を作成できます。この変換を使用して、series_name (各センサーが何を表しているか)と各オブジェクトの主キーを組み合わせます。

| series_id | series_name | series_value | route_id | date |
|---|---|---|---|---|
| CMH -> IAH_daily_avg_dep_delay | daily_avg_dep_delay | 33.4545454545450000 | ATL -> SFO | 2023-06-12T00:00:00.000Z |
| CMH -> IAH_daily_avg_arr_delay | daily_avg_arr_delay | 40.0000000000000000 | ATL -> SFO | 2023-06-12T00:00:00.000Z |
| CMH -> IAH_daily_count_of_flights | daily_count_of_flights | 11.0000000000000000 | ATL -> SFO | 2023-06-12T00:00:00.000Z |
行の選択変換を使用して、時系列同期に必要な行だけを保持します: series_id、series_value、および date。フライト元データセットは、何を測定しているかに関係なく、すべてのシリーズの時系列値を保持します。これをフライトデータセットの airline_carrier_id 行に対しても繰り返します。

| series_id | series_value | date |
|---|---|---|
| CMH -> IAH_daily_avg_dep_delay | 33.4545454545450000 | 2023-06-12T00:00:00.000Z |
| CMH -> IAH_daily_avg_arr_delay | 40.0000000000000000 | 2023-06-12T00:00:00.000Z |
| CMH -> IAH_daily_count_of_flights | 11.0000000000000000 | 2023-06-12T00:00:00.000Z |
次に、出発地の空港と目的地の空港の両方に対して集約とキャストの変換ステップを繰り返す必要があります。
集約変換を使用して date と origin_airport_id でグループ化し、平均到着時間と平均出発時間を計算します。各グループの行の合計数は、ルートごとの1日あたりのフライト数に相当します。

| date | origin_airport_id | daily_avg_dep_delay | daily_count_of_departing_flights |
|---|---|---|---|
| 2023-07-02 | 10299 | 9.34375000000000000 | 33 |
| 2023-09-06 | 10431 | -2.3333333333333333 | 6 |
| 2023-01-12 | 10620 | -7.0000000000000000 | 2 |
この新しいデータを時系列として使用するためには、タイムスタンプ行を作成する必要があります。これを行うためには、キャスト変換を使用して date 行をタイムスタンプ型の行にキャストします。

結合ボードを使用して、出発地の空港のデータと目的地の空港のデータを結合し、空港データの完全な時系列プロパティを生成します。結合に対して以下の設定が行われていることを確認してください:
origin_airport_id を dest_airport_id にマッチさせます。
| date | origin_airport_id | daily_avg_dep_delay | daily_count_of_departing_flights | daily_avg_arr_delay | daily_count_of_arriving_flights |
|---|---|---|---|---|---|
| 2023-07-02 | 10299 | 9.34375000000000000 | 33 | 18.5294117647058840 | 34 |
| 2023-09-06 | 10431 | -2.3333333333333333 | 6 | -8.0000000000000000 | 6 |
| 2023-01-12 | 10620 | -7.0000000000000000 | 2 | 56.5000000000000000 | 2 |
出発地の空港データと目的地の空港データを結合したので、すべての空港に対して到着と出発のメトリクスが得られました。もはや出発地と目的地を区別する必要はないので、行名変更変換を使用して origin_airport_id を単に airport_id に変更します。

行名が変更された次のようなデータがプレビューされるべきです:
| date | airport_id | daily_avg_dep_delay | daily_count_of_departing_flights | daily_avg_arr_delay | daily_count_of_arriving_flights |
|---|---|---|---|---|---|
| 2023-07-02 | 10299 | 9.34375000000000000 | 33 | 18.5294117647058840 | 34 |
| 2023-09-06 | 10431 | -2.3333333333333333 | 6 | -8.0000000000000000 | 6 |
| 2023-01-12 | 10620 | -7.0000000000000000 | 2 | 56.5000000000000000 | 2 |
すぐにアンピボット変換を適用する予定です。この関数はすべての値が同じデータ型であることを必要とするため、キャスト変換ボードを再度使用して、フライト数の日次カウントメトリクスをダブルデータ型にキャストする必要があります。
完全な日次フライト数を計算するために、数字を追加する変換を使用して、到着フライトの日次数と出発フライトの日次数を合計します。

| daily_count_of_flights | date | airport_id | daily_avg_dep_delay | daily_count_of_departing_flights | daily_avg_arr_delay | daily_count_of_arriving_flights |
|---|---|---|---|---|---|---|
| 77 | 2023-07-02 | 10299 | 9.34375000000000000 | 33 | 18.5294117647058840 | 34 |
| 12 | 2023-09-06 | 10431 | -2.3333333333333333 | 6 | -8.0000000000000000 | 6 |
| 4 | 2023-01-12 | 10620 | -7.0000000000000000 | 2 | 56.5000000000000000 | 2 |
このデータセットには異なる行に時系列データが含まれているため、アンピボット変換を使用してそれを1つの値行にマージする必要があります。これにより、データは以下に示すような時系列同期の必須スキーマに一致します:
string | TSP が参照するタイムスタンプと値のペアのセットのシリーズ ID。これは TSP のシリーズ ID と一致する必要があります。timestamp または long | 量が測定される時間。integer、float、double、string | それが測定される時点の量の値。文字列型はカテゴリカルな時系列を示し、各カテゴリカルな時系列は最大で127のユニークなバリアントを持つことができます。下に示すアンピボット変換は、daily_avg_dep_delay、daily_avg_arr_delay、および daily_count_of_flights の値を同じ series_value 行に配置します。それらの元の行名は、シリーズ ID で使用する新しい series_name 行への出力です。

データは次のようなスキーマでプレビューされるべきです:
| series_name | series_value | date | airport_id |
|---|---|---|---|
| daily_count_of_flights | 77 | 2023-07-02T00:00:00.000Z | 10299 |
| daily_avg_dep_delay | 9.34375000000000000 | 2023-07-02T00:00:00.000Z | 10299 |
| daily_avg_arr_delay | 18.5294117647058840 | 2023-07-02T00:00:00.000Z | 10299 |
これで、連結文字列変換を使用して series ID (関連する時系列値の識別子)を作成できます。この変換を使用して、series_name (各センサーが何を表しているか)と Airport オブジェクトの主キー(airport_id)を組み合わせます。

| series_id | series_name | series_value | date | airport_id | | ---------------------------- | -------------------------------- | ------------------- | ------------------------ | | 12099_daily_count_of_flights | daily_count_of_flights | 77 | 2023-07-02T00:00:00.000Z | | 12099_daily_avg_dep_delay | daily_avg_dep_delay | 9.34375000000000000 | 2023-07-02T00:00:00.000Z | | 12099_daily_avg_arr_delay | daily_avg_arr_delay | 18.5294117647058840 | 2023-07-02T00:00:00.000Z |
行の選択変換を使用して、時系列同期に必要な行だけを保持します: series_id、series_value、および date。フライト元データセットは、何を測定しているかに関係なく、すべてのシリーズの時系列値を保持します。

結果として得られるデータセットは次のようになるべきです:
| series_id | series_value | date |
|---|---|---|
| 12099_daily_count_of_flights | 77 | 2023-07-02T00:00:00.000Z |
| 12099_daily_avg_dep_delay | 9.34375000000000000 | 2023-07-02T00:00:00.000Z |
| 12099_daily_avg_arr_delay | 18.5294117647058840 | 2023-07-02T00:00:00.000Z |
Carrier、Route、および Airport の時系列プロパティを表す変換を使用して、Union by name 型のユニオンを作成します。


| series_id | series_value | date |
|---|---|---|
| 12099_daily_count_of_flights | 77 | 2023-07-02T00:00:00.000Z |
| 12099_daily_avg_dep_delay | 9.34375000000000000 | 2023-07-02T00:00:00.000Z |
| 12099_daily_avg_arr_delay | 18.5294117647058840 | 2023-07-02T00:00:00.000Z |
| CMH -> IAH_daily_avg_dep_delay | -8.0000000000000000 | 2023-03-21T00:00:00.000Z |
| 20304_daily_avg_arr_delay | 9.12500000000000000 | 2023-08-13T00:00:00.000Z |
結果となるデータセットにフィルター変換を適用し、null 値を削除します。

次に、パイプライン出力セクションの右側から Add を選択し、その後 Time series sync を選択して、時系列同期を作成します。新しい時系列同期の必要なデータを以下の考慮事項に従って記入します:
series_id 行を選択します。date タイムスタンプ行を追加します。series_value を追加します。次に、パイプラインを保存してビルドします。出力はパイプラインと同じフォルダーに作成されます。
時系列同期を持つパイプラインを作成したので、その同期を使用して Route、Carrier、および Airport オブジェクトタイプに時系列プロパティを追加する準備が整いました。詳細なガイダンスについては、オブジェクトタイプに時系列プロパティを追加するドキュメンテーションを参照してください。