パイプライン

パイプラインは、 1 つ以上の入力ソースから読み取り、ビットの処理を適用し、結果を単一のエンドポイントに出力する Java または Scala アプリケーションです。 HERE Workspace では、地図と交通データのセットを使用してデータをエンリッチ化できます。

このトピックでは

パイプラインを使用する理由

最も一般的な使用例は次の 2 つです。

  • マップのコンパイル - 複数のバッチデータソースを 1 つのカスタマイズされたマップに結合します。
  • クラウドソースの地図更新 - 継続的に更新されたストリーミングデータを維持して、交通情報を発行できます。

HERE は、パイプラインが適している可能性があるその他のシナリオです。

  • 自動車運行管理から車両センサーデータを読み取り、自律走行をサポートする高解像度マップを強化します。
  • アナリティクスを集計して e コマースデータに適用し、商品や販売の傾向をより的確に把握できます。
  • ビジネスインテリジェンスツールを補完するか、生産システムに機械学習を適用して、顧客に最適な製品やサービスを動的に提供します。
  • 独自のアルゴリズムを使用してデータを集約し、広告の入札単価を最適化します。
  • 車両データを読み取り、道路状況を把握し、安全警告をドライバーと共有します。

パイプラインの概要については、次のビデオを参照してください。

パイプラインコンポーネント

パイプラインアプリケーションは、 HERE Workspace で展開するために JAR ファイル にコンパイルされます。 パイプラインは、ストリーム処理フレームワーク( Apache Flink )またはバッチ処理フレームワーク( Apache Spark )で実行できます。 パイプラインアプリケーションには、次の 2 つの基本コンポーネントがあります。

  • フレームワークインターフェイスこれは、処理中のデータおよび選択した処理フレームワークのアーティファクトです。 データのインジェストとデータ出力もアーティファクトです。 パイプラインの実行に必要な基本コンポーネントです。 パイプライン開発プロジェクトの基本は、 HERE Data SDK for Java and Scala で提供されている Maven の原型に基づいて事前定義されています。

  • データ処理ワークフローは、ハードコードされたデータ変換アルゴリズムで構成されています。このアルゴリズムによって、特に HERE のライブラリおよびリソースを使用する場合に、各パイプラインが一意になります。 データ入力をデータ出力の有用な形式に変換するには、パイプラインの特殊なアルゴリズムが必要です。

    ワークフローの結果は、一時的な保存のためにデータシンクに出力されます。 このワークフローは、データの独自のビジネスルールセットおよびアルゴリズムの変換を、その設計に従って実行するように設計されています。 実行時の考慮事項は、通常、パイプラインの展開時およびジョブの開始時に に適用される一連の特定の設定パラメータとして処理されます。

アプリケーションは、ストリームまたはバッチ処理環境でのみ使用できるように事前設定する必要がありますが、両方で使用することはできません。 すべてのパイプラインには、少なくともパイプライン自身の外部にある次のコンポーネントが必要です。

  • 1 つのデータソース ( カタログ ) 。ただし、多くの入力データソースがサポートされています
  • 1 つのデータシンク ( カタログ )
フレームワークインターフェイス、データインジェストインターフェイス、データ出力インターフェイス、データ処理ワークフローを含む一般的なパイプラインアーキテクチャ。
図 1. 典型的なパイプライン

パイプラインの機能

  • パイプラインには、再利用可能な JAR ファイル パッケージ内のデータ処理アルゴリズムの任意の組み合わせを含めることができます。
  • パイプラインは、標準のパイプラインアプリケーションテンプレートに基づいて、 Scala または Java を使用して構築できます。
  • パイプラインは、管理と展開を容易にするために、 FAT JAR ファイルとしてコンパイルおよび配布されます。
  • パイプラインは、データ処理ワークフローの設計方法に基づいて、高度に専門化されている場合もあれば、非常に柔軟な場合もあります。
  • パイプラインは、必要に応じてパイプラインの柔軟性を最大限に高めるランタイムパラメータのセットで展開されます。
  • パイプラインサービスは、ストリーミングデータ( Apache Flink )の処理およびバッチデータ( Apache Spark )のために、標準のフレームワークインターフェイスを使用します。
  • あるパイプラインの出力カタログを別のパイプラインの入力カタログとして使用することで、パイプラインをチェーン化できます。 ( 現時点では、このようなスキームを実装するためのツールは HERE Workspace に含まれていません ) 。
  • パイプラインは、 (1) コマンド ライン インターフェース ( OLP CLI ) 、 (2) ポータル、 (3) パイプラインサービス REST API を使用するカスタムユーザーアプリケーションから展開および管理できます。

パイプライン開発ワークフロー

パイプラインは、使用前に設計および実装プロセスを通過します。 パイプラインが設計されると、実行可能な JAR ファイル として実装されます。 これらの JAR ファイルは、必要に応じて HERE Workspace で使用できます。 各パイプライン JAR ファイル は、ストリームまたはバッチ実行環境の設計要件および制約を満たす必要があります。

  • ストリーム環境が選択されている場合、 JAR ファイル はパイプラインに組み込まれている Apache Flink フレームワークで実行可能である必要があります。
  • バッチ環境が選択されている場合、 JAR ファイル はパイプラインに組み込まれている Apache Spark フレームワークで実行可能である必要があります。

Flink および Spark には、それぞれ JAR ファイル デザインに固有の要件があります。

パイプラインの作成

新しいパイプラインは、通常、次のプロセスを使用して作成されます。

新しいパイプライン開発プロセスを示す図。
図 2. パイプライン開発プロセス
  1. パイプラインの機能的な目標またはビジネス目標を作成します。通常は、基本的なデータワークフローを定義します。
  2. 目的を達成するためにデータを操作するための一連のアルゴリズムを、 Java または Scala で開発して、パイプラインテンプレートと互換性を持たせます。
  3. ストリーミングまたはバッチ処理モデルをターゲットとするパイプラインアプリケーションにアルゴリズムを統合します。 パイプラインの構築には Maven の原型が使用されます。
  4. 統合プロセス中にアルゴリズムが必要とするランタイムパラメータを定義します。
  5. Fat JAR ファイル を作成してテストします。 この Fat JAR ファイル と、関連するライブラリまたはその他のアセットは、パイプラインに展開されるパイプライン添付資料です。

運用要件

運用要件には、使用する個々のパイプラインおよびカタログ、および実行順序が記述されます。 これは、展開する必要がある一意のトポロジであり、コンピューティング環境がサポートできる数のパイプラインステージを個別に含めることができます。 パイプラインは、 1 つまたは複数の展開に対応して設計できます。

カタログの互換性

パイプラインごとに、パイプラインによって処理されたデータを格納するデータソースと出力カタログがあります。 その出力カタログは、パイプラインで実行されたデータ変換と互換性がある必要があります。 以下に、入力および出力カタログのさまざまなバリエーションを示します。

パイプラインパターン

パイプラインの展開

展開時に、データソースとデータの宛先が定義されます。この定義は、より複雑なトポロジを実装するために必要です。 パイプラインが実行されると、そのアクティビティが監視され、後で分析できるようにログに記録されます。 追加のツールを使用して、データ処理中のイベントに基づいてアラートを生成できます。

設定済み のパイプラインバージョンのみ が HERE Workspace でデータを処理できます。 次の表では、パイプラインバージョンに転送できる操作コマンドについて説明します。

コマンド 説明
アクティブ化します 展開済みのパイプラインバージョンでデータ処理を開始します。
削除 展開済みのパイプラインバージョンを削除します。
一時停止 再開コマンドが発行されるまで、パイプラインバージョンの操作をフリーズします。
再開 実行が一時停止された時点から、一時停止されていたパイプラインバージョンを再起動します。
キャンセル 任意のデータの処理から実行中のパイプラインバージョンを終了します。
アップグレード パイプラインバージョンを別のパイプラインバージョンに置き換えます。

開発者を対象としています

開発者で、 HERE Workspace の使用を開始する場合は、次の点に注意してください。

  • HERE Workspace は、位置情報関連データの分散処理パイプラインを構築するように設計されています。 データはカタログに保存されます。 処理はパイプラインで行われます。パイプラインとは、 Java または Scala で記述されたアプリケーションで、 Apache Spark または Apache Flink フレームワークで実行されます。

  • HERE Workspace は、管理、プロビジョニング、拡張、設定、運用、 サーバー側のコンポーネントのメンテナンスを行い、アプリケーションのロジックとユースケースの開発に必要なデータに焦点を当てることができます。 HERE Workspace は、主にデータ処理、コンパイル、視覚化を行う開発者を対象としていますが、データアナリストはその場で開発を行うこともできます。

」に一致する結果は 件です

    」に一致する結果はありません