パイプラインコンポーネント
パイプライン は、データ処理タスクを実行する HERE platform の最上位のエンティティです。 独自の専用パイプライン を開発する場合、 HERE platform システムで複数のバージョンのを保存および管理できます ( 以下の「パイプライン バージョン」を参照 ) 。 パイプライン の開発は反復的なプロセスであり、一般的には、異なる入力および出力カタログまたは設定を使用して各パイプライン をテストするためのパイプライン コードの新しいバージョンをアップロードします。 テスト後、ライブデータを使用してパイプライン を本番環境に配置できます。
多くの要素がパイプラインの作成に使用されます。 次の一覧に、最も重要なコンポーネントを示します。
-
パイプライン テンプレート – 実行可能ファイルのパイプライン バージョンおよびプラットフォーム のランタイムプロパティの不変の定義です。 実行可能なパイプライン バージョンを作成する出発点です ( 以下を参照 ) 。 パイプライン テンプレート は、パイプライン の実際のランタイム実装を定義します。 使用する入力および出力カタログの論理識別子を定義します。 1 つのパイプライン テンプレート を使用して、複数のパイプライン バージョンを作成できます。 各テンプレート には、作成時にパイプライン によって一意のテンプレート ID ( UUID )が割り当てられます。 パイプラインとパイプライン テンプレートは独立したエンティティです。 パイプライン テンプレート は、多くのパイプライン バージョンで使用できます。 パイプラインとテンプレートには、プラットフォーム で一意に識別できる独自の HRNS が割り当てられます。 パイプライン テンプレート には、 JAR ファイル のほか、データへのアクセス、処理、および保存に必要なすべての設定情報が含まれています。
-
パイプライン バージョン – HERE platform 内のパイプライン の実行可能形式である不変のエンティティです。 各パイプライン バージョンは、 JAR ファイル を含むパイプライン テンプレート から作成されます。 各パイプライン バージョンには、作成時にパイプライン によって独自のパイプライン バージョン ID ( UUID )が割り当てられます。 1 つの パイプライン JAR ファイル に基づいて、複数のパイプライン バージョンを定義できます。 ただし、同じパイプライン バージョン(およびパイプライン バージョン ID )の 2 つのインスタンスを同時に実行することはできません。
-
パッケージ – HERE platform にアップロードされた JAR ファイル を表す不変のエンティティです。 コンパイル済みのパイプライン コードとライブラリが含まれています。 ライブラリは JAR ファイル に直接埋め込まれているため、実際は Fat JAR ファイル ですが、ファイルサイズは 500MB を超えることはできません。 実際のバイナリアーティファクトの横に、ファイル名のようなメタデータ が含まれています。 JAR ファイル のファイル名には 200 文字の制限があります。 JAR ファイル のファイル名を選択する場合は、意味的に意味のある名前を使用して、一意のバージョン管理システムを含めることをお勧めします。 JAR ファイル はパイプライン テンプレート 内で識別され、パイプライン にアップロードされます。には一意のパッケージ ID ( UUID )が割り当てられます。
-
ジョブ –ジョブは 変更不可 のエンティティであり、そのジョブの実行中のパイプライン バージョンによってクラスタに送信された 1 回限りの設定パラメータおよび入力カタログを表します。 処理する入力カタログの正確なバージョンを指定すると、その情報がパイプライン テンプレート で指定されている類似の情報よりも優先されます。 実行中または履歴のジョブのリストを取得できます。 ジョブの 状態 は、ジョブの実行および終了に伴って時間の経過とともに変化することがあります。
-
入力および出力カタログ –入力カタログ がパイプライン のデータソースであり、出力カタログ がパイプライン のデータの宛先です。 パイプライン には複数の入力カタログ を含めることができますが、出力カタログ は 1 つだけです。
-
ストリーム パイプラインの場合、使用されているカタログレイヤーのタイプ(バージョン管理、揮発性、またはストリーミング)に応じて、カタログのバージョンを指定する必要があります。
-
バッチ パイプライン の場合、パイプライン をただちに実行するか、入力カタログ データの更新時に実行するようにスケジュールを設定できます。 パイプライン をただちに実行するには、カタログのバージョンを指定する必要があります。 パイプライン モードをスケジュールする場合、カタログのバージョンを指定する必要はありません。 代わりに、パイプライン スケジューラは、 5 分ごとに入力および出力カタログを確認して変更内容を取得し、処理するすべてのカタログの整合性のあるバージョンを確認します。 たとえば、パイプライン に 2 つの入力カタログがあり、 1 つはアップストリームカタログバージョン 5 からの変更を持ち、もう 1 つの入力カタログ にも同じアップストリームカタログが含まれているが、まだバージョン 5 を処理していないとします。 したがって、 2 つの入力カタログのバージョンが整合していないため、パイプライン を実行できません。
バッチジョブは、次のようにスケジュールできます。
- 今すぐ実行 - パイプライン は 1 回のみ実行され、準備完了状態に戻ります。
- スケジュール / データの変更 - パイプライン はデータの変更が利用可能になったときに実行され、スケジュールされたままになります。
- スケジュール / 時間スケジュール - パイプライン は特定の時間に実行され、スケジュールされたままになります ( 「スケジューラの設定」を参照 ) 。
カスタマイズしたパイプライン を作成できるようにするためのコマンドおよび設定の形式で、同様に重要なコンポーネントが他にもあります。
-
操作 –これらは、パイプライン バージョンに送信できる特殊な操作コマンドです。 パイプライン バージョンでは、無効であるか、別の操作がすでに保留中である可能性があるため、これらの操作を受け入れることも、受け入れないこともできます。 操作 には、 操作がまだ進行中か、または結果とともに完了しているかを確認するためにチェックできる状態があります。
-
ランタイム設定 –パイプラインのデフォルトのランタイム環境を設定するために実行時に指定できるパラメータのセット。 パイプライン テンプレート は、デフォルトの設定パラメータを指定します。 ただし、これらのパラメータの一部は、特定のジョブの設定で再指定され、テンプレート のデフォルトのパラメータが上書きされることがあります。 パイプライン バージョンでは、ランタイム設定によって、そのパイプライン バージョンによって処理のために送信されたジョブに渡される実際の設定が指定されます。 カスタム設定パラメータは、application.properties
として、パイプラインのクラスパスに配置されます。これは、パイプライン コード内から参照できます。 詳細については、『 Configuration File Reference 』を参照してください。
-
スケジューラの設定 – SchedulerConfig
パイプライン の各バージョンで使用されるプロパティです。 スケジューラは、ジョブが作成され、 Flink または Spark クラスタに送信されて処理されるタイミングを制御します。 スケジューラは、前のジョブが予期したとおりに完了した場合、または予期したとおりに完了しなかった場合に、新しいジョブを開始できます。 スケジューラは、アップストリームカタログからの変更をポーリングするか、または待機します。 タイマーやその他の外部トリガーが原因で動作することもあります。 ジョブを開始するタイミング、終了したジョブを再開するかどうか、アップストリームカタログのポーリング間隔などのプロパティが含まれます。 詳細については、『 Configuration File Reference 』を参照してください。
-
クラスタ設定(または clusterconfig ) –パイプライン テンプレート およびパイプライン バージョンで使用されるプロパティです。 パイプライン テンプレート では、そのパイプライン テンプレート に基づいてパイプライン バージョンを実行するために必要なクラスタの推奨最小サイズを表します。 特定のパイプライン バージョンの実行専用のクラスタの実際のサイズおよび設定を表します。 この設定では、固定数の CPU およびメモリの処理単位で、クラスタのサイズなどのプロパティを指定します。 次の表に、クラスタ設定パラメータを示します。 詳細については、「クォータと制限」の記事および「設定ファイルリファレンス」を参照してください。
設定パラメータ | 意味 |
supervisorUnits | スーパーバイザあたりのリソースユニット数( Flink ジョブマネージャまたは Spark ドライバ) |
workerUnits | ワーカーあたりのリソースユニット数( Flink TaskManager または Spark Executor ) |
workers | 作業者数( Flink タスクマネージャまたは Spark 実行者の数) |
-
pipeline-config.conf –このファイルには、入力カタログ、出力カタログ、および請求タグを記述するパラメータが一覧表示されます。 パイプラインはこの情報を使用して、カタログが変更されたかどうかを判断し、変更を処理するためにスケジュールされたバッチ パイプラインを実行する必要があります。 詳細について は、『 Configuration File Reference 』を参照してください。
-
pipeline-job.conf –この設定ファイルには、入力カタログのバージョンと処理タイプを記述するパラメータが一覧表示されます。 オンデマンドモードを使用して実行されるバッチパイプラインの場合、ユーザーはデフォルト値を選択するか、特定の情報を入力できます。 詳細について は、『 Configuration File Reference 』を参照してください。
も参照してください