パイプラインを作成しています

パイプラインサービスで実行する前に、パイプラインを設計、開発、およびテストする必要があります。 このプロセスの最終製品はパイプライン JAR ファイル で、パイプラインサービスに展開してデータの処理に使用できます。 このトピックは 、パイプラインライフサイクルで導入されました。

HERE platform パイプラインは、実装されているデータ処理ワークフローに基づいて、シンプルまたは複雑にできます。 パイプラインコードの基本的な構造は十分に確立されており、ストリームまたはバッチ処理ワークフロー用の Maven パイプライン テンプレート ( つまり、 Maven の原型 ) を使用して新しい構築プロジェクトを開始できます。 パイプラインサービスが正しいタイプのパイプライン(バッチまたはストリーム)をインスタンス化するように、さまざまなテンプレートが使用されます。 より高度な開発者が、新しいパイプラインプロジェクトに Maven の原型を使用しないことを決定する場合があります。 しかし、 HERE platform を初めて使用する開発者は、初期プロジェクトに Maven の原型を使用することをお勧めします。

パイプライン テンプレートの再利用可能な定義である Maven パイプラインには、実装と、実行可能にするために必要なすべての情報が含まれています。

  • エントリポイント。 JAR ファイル コードのメインクラスの名前です
  • 実装を接続する必要がある入力および出力カタログの定義およびスキーマ
  • 必要なランタイムフレームワークのタイプ
  • デフォルトのランタイム設定およびパラメータ
  • パイプラインのデータ処理コードで必要とされる特別なランタイム要件

一般的な HERE Platform Pipeline の構造を以下に示します。

詳細なパイプライン構造。
図 1. 詳細なパイプライン構造

この構造体の多くは 、 SDK で提供されているパイプラインプロジェクトテンプレート (Maven Archetypes) によって管理されています。 ただし、この図の顧客データ処理ブロックでは、パイプラインのカスタマイズが行われます。 これには、目的の処理ワークフローを実装するために必要なロジックおよびデータ操作アルゴリズムがすべて含まれています。 このワークフローの実装方法の詳細については、次のガイドを参照してください。

  • HERE platform 処理パイプラインを実装するためのストリームにアクセスするためにプロジェクトで使用できるデータ クライアント ライブラリ Scala/Java ライブラリ
  • データ プロセッシング ライブラリ - バッチ処理パイプラインを実装するために、 Spark を介してパイプライン API と Data API の両方と簡単に対話できる手段を提供します
  • Data Archiving ライブラリ :ストリーム レイヤー経由でインジェストされたメッセージのアーカイブを支援します
  • ロケーション ライブラリ - ストリームまたはバッチパイプラインで位置情報に基づいた分析を行うためのアルゴリズムのセット
  • データ インスペクター ライブラリ - ストリームまたはバッチパイプラインでは使用されません。 JavaScript/typescript ライブラリは、プラットフォームカタログレイヤーを含むさまざまなデータソースを使用して 2D および 3D データをマップにレンダリングするためのものです

HERE platform では、パイプラインで処理できるさまざまな種類のデータリソースが提供されています。 次のものがあります。

新しいパイプラインの作成は簡単な作業ではありませんが、 HERE platform とそのツールによってプロセスができるだけ合理化されました。 個々のパイプライン開発の一般的なパターンでは、次の一連のイベントが使用されます。

  1. パイプラインの処理目標を決定します。
  2. パイプラインパラメータ、つまり、 ( 名前、説明、バージョン、 データソース、データの宛先 ) 。
  3. パイプラインで実行される処理アクティビティとその実行順序 ( つまり、ワークフロー ) を定義します。
  4. パイプラインで処理するデータを操作するアルゴリズムを開発します。
  5. ワークフローとアルゴリズムをローカル開発環境の実行可能パイプライン JAR ファイル に統合します。
  6. パイプラインを使用するための必須およびオプションの設定パラメータおよびファイルを定義します。
  7. 開発データセットを使用して新しいパイプラインをテストします。
  8. 本番環境に展開するためのパイプラインをリリースします。

コンピューターの空のディレクトリから本番環境に対応したパイプラインに開発者を導く開発者ワークフローを可能にすることで、現実世界のアプリケーション開発における大きな課題に対処しています。 プラットフォームの他の機能と組み合わせることで、市場投入までの時間を大幅に短縮できます。 この開発者ワークフローを次の図に示します。

開発者ワークフローのフェーズ
図 2. パイプライン開発の反復ワークフロー

HERE platform 開発者ワークフローは、上の図に示すように、 8 つの異なるフェーズに分割されています。 これらのフェーズでは、個々の開発者がローカルの開発環境で作業を実行できるため、チームの作業速度が向上します。 SDK には、ローカル環境でのスキャフォールドおよびモックアップ API を提供するツールが含まれています。また、ローカル開発環境で開発目的でデータのクローンを作成できます。 詳細については 、 HERE Workspace for Java and Scala Developersを参照してください。 また、特定のプログラミングタスクのガイダンスを提供できる例も数多くあります。 使用可能な例の一覧について は、「コード例」を参照してください。

脂肪質の JAR

パイプライン JAR ファイル について話すとき、実際には、依存関係とアセットを組み込んでコンパイルされ、 Fat JAR ファイル にパッケージ化されたパイプラインアプリケーションについて話しています。 ただし、「 Fat JAR ファイル 」は非パイプラインアプリケーションを参照することもできます。 このため 、パッケージ化されたパイプラインアプリケーションをパイプライン JAR ファイル と見なすことをお勧めします。これにより、混乱を避けることができます。

HERE platform は、新しいパイプラインデザインを開発する場合 に、ストリーム または バッチ パイプラインを設定しているかどうかを把握するように設計 されています。 これ により、新しいパイプラインの開発プロジェクトの設定に使用する Maven の原型と、パイプラインサービスで使用するフレームワークが決定されます。 このプロジェクトには、パイプラインサービスに必要なすべての基本的な依存関係が含まれています。 プロジェクトをビルドすると、目的のパイプラインタイプに適したパイプラインサービスタイプを対象としたパイプライン JAR ファイル ( 「ファット JAR 」または「ウバー JAR 」 ) が作成されます。 たとえば、ストリーム パイプライン JAR ファイル をバッチ パイプラインとして実行することはできません。 パイプライン JAR ファイル がバッチ パイプラインとして設計されている場合は、バッチ パイプラインとして展開および実行する必要があります。 また、ストリーム パイプライン JAR ファイル をストリーム パイプラインとして展開して実行する必要があります。 これは、 HERE platform の基本的な要件です。

注意 : JAR ファイル の制限

パイプライン JAR ファイル名の最大サイズは 200 文字です。 パイプライン JAR ファイル の最大サイズは 500MB です。 JAR ファイル の POST トランザクションが 50 分以内に完了できない場合、リモートホストによって接続が閉じられ、エラーが返されます。

HERE platform パイプライン

HERE platform を使用したパイプラインの開発の詳細については 、 HERE Workspace for Java and Scala Developers を参照してください。 また、パイプラインでのデータライブラリの使用方法については 、さまざまなデータライブラリのドキュメントを参照してください。 いくつかのコード例 をダウンロードできます。

前述のよう に、パイプライン JAR ファイル はバッチ処理またはストリーム処理用に設計されている必要があります。 これに は、開発プロジェクトで SDK からの正しい Maven 原型を使用することが含まれています。 Maven 原型を使用せずにパイプラインを開発している場合でも、これらの原型でカバーされているすべての要件を満たす必要があります。 原型は 、基本的なパイプラインコードのプロジェクトテンプレートとして設計されています。 プロジェクトに必要なものがさらに多くあります。詳細については、次のセクションを参照してください。

情報 : 依存関係

Maven の原型は、プロセッササブプロジェクトにある pom.xml ファイルにすべての基本的な依存関係を提供します。 処理ロジック HERE で使用されるカスタムの依存関係を手動で追加する必要があります。 詳細 については、「バッチ パイプライン (Maven Archetypes) を使用して Java を構築する」および「バッチ パイプライン (Maven Archetypes) を使用して Scala を構築する」を参照してください。

ストリームパイプラインの開発

ストリームデータパイプラインを開発するにApache Flink は、 Stream-2.0.0 (非推奨)、ストリーム 3.0 ( Apache Flink 1.10.1 フレームワークを含む)、ストリーム 4.0 ( Apache Flink 1.10.3 フレームワークを含む)、およびストリーム 5.0 ( Apache Flink 1.13.5 フレームワークを含む)の 3 つのランタイム環境を使用できます。 Flink アプリケーション開発の基本ガイドについて は、使用している内容に応じて、『 Flink v1.13 DataStream API Programming Guide 』または『 Flink v1.10 DataStream API Programming Guide 』または『 Flink v1.7 DataStream API Programming Guide 』を参照してください。 Flink 1.10 と Flink 1.13 の修正点および改善点については、次の Flink リリース投稿を参照してください。

バッチパイプラインの開発

バッチデータパイプラインを開発するには、ランタイム環境 Batch-2.0.0 (廃止予定)、 Batch-2.1.0 (廃止予定)、および Batch-3.0 ( Apache Spark v2.4.7 フレームワークを含む)を使用できます。 Spark パイプラインアプリケーション開発の基本については 、 Spark クイックスタート 2.4.2 および Spark クイックスタート 2.4.7 の両方で説明されています。 HERE platform はまだ SQL をサポートしていないため 、「 RDD プログラミングガイド」に重点を置く必要があります。

注意 : 新しいバッチおよびストリーム環境

新しいバッチまたはストリームランタイム環境がリリースされると、古いバッチおよびストリームランタイム環境を使用するパイプラインは、新しいランタイム環境のリリースから 6 か月にわたってサポートされ、既存のパイプラインを新しいランタイム環境に移行するのに十分な時間を提供します。 詳細について は、「新しいランタイム環境へのパイプラインの移行」を参照してください。

カタログに関する考慮事項

すべてのカタログレイヤーが バッチ パイプラインとストリームパイプラインの両方と互換性があるわけではありません。 パイプラインの設計方法については、この点を考慮する必要があります。 詳細について は、「パイプラインパターン」および「 Data ユーザー ガイド」を参照してください。 また、ほとんどのライブラリには独自の開発者ガイドがあります。 利用可能な開発者ガイドの一覧について は、ドキュメントの一覧表を参照してください。

も参照してください

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

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