バッチ処理のベストプラクティス

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

このセクションでは、 HERE platform フレームワークを使用して Apache Spark のバッチ処理パイプラインを作成する開発者のためのベストプラクティスについて説明します。

建築

バッチ パイプラインのアーキテクチャによって、パイプラインサービスが Apache Spark フレームワークを使用してバッチ パイプラインジョブを実行することが規定されています。 パイプラインが作成されると、その Spark または Flink フレームワークに専用の Maven 原型が選択されます。 そのため、同じパイプラインをバッチパイプラインまたはストリーム の両方として実行することはできません。

アルゴリズムの変換および操作のワークフローは、 Spark が ドライバーのタスクを考慮する一連のステップとして実行されます。 これが各パイプラインを一意にする理由です。 パイプラインパターンで使用可能なさまざまなパイプラインデザインパターンの概要を確認できます。 データ プロセッシング ライブラリは、すべての HERE platform バッチパイプラインで使用されます。 これらの多くの順列について詳しくは 、データ プロセッシング ライブラリガイド「バッチパイプラインのアーキテクチャー」を参照してください。

パイプラインとデータ プロセッシング ライブラリ

データ プロセッシング ライブラリガイドの別の役立つ記事では、パイプラインとデータ プロセッシング ライブラリの関係について説明しています。

ランタイム設定

バッチ パイプラインのランタイムリソースレベルは 、そのパイプライン テンプレートで設定できます。 ストリーム パイプラインと同じランタイムパラメータが使用されますが、その意味は多少異なります。

  • supervisor_units - Spark マスターのリソース割り当てを参照します。 この値は、デフォルトでクラスタに割り当てられている CPU コアの数に相当します。 範囲は 1 ~ 15 です。
  • worker_units - 各ドライバータスクで使用できる CPU コアリソースの数を示します。 範囲は 1 ~ 15 です。
  • workers - バッチ パイプライン処理はクラスタ上の独立したプロセスのセットとして実行されるため、クラスタ マネージャを介して利用可能なリソースを使用して、実行者のタスクを実行するためのリソースが割り当てられます。 実行者は 、作業者ノードごとに 1 つ割り当てられます。 したがって 、指定されたワーカー数は 、利用可能なワーカーノードの数、 または利用可能な実行者の数を表します。 範囲は 1 ~ 15 です。

テンプレートは、プラットフォームポータル GUI 、 CLI 、または API レベルで作成できます。 まず、 OLP CLI ガイドの [ テンプレート] の下にあるドキュメントを参照してください。 これら pipeline template create のランタイムパラメータをオプションで一覧表示するには、 CLI コマンドを使用します。 API リファレンス では、 PipelineTemplate パラメータのデフォルトのクラスタ設定に含まれている情報と同じ情報が参照できます。 詳細について createPipelineTemplateは、演算子の API リファレンス エントリを参照してください。

スケーリング

スケーリングの問題は Spark によって処理されます。 パイプラインクラスタの設定は一定の割合で行うことができますが、 Spark では拡張の問題に対処しています。

詳細について は、チューニングおよびハードウェアプロビジョニングに関する Spark のドキュメントを参照してください。

Spark のインストール

Spark ランタイムライブラリは、 HERE Platform Pipeline サービスに自動的に含まれます。 ネイティブ の原型 を使用して、新しいストリーム パイプラインを作成するための事前設定されたプロジェクト構造を提供できます。 For further information, see the Archetypes documentation.

も参照してください

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

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