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

HERE platform は、データ処理パイプラインを使用して、 HERE 地理空間 リソースおよびカスタムクライアントリソースからのデータを処理し、新しい有用なデータ製品を作成します。 さまざまな種類のデータ処理アプリケーションは、 パイプライン API を使用してプラットフォーム に展開できます。パイプライン API の詳細については 、「 HERE」を参照してください。

このワークフローでは、 OLP CLI を使用してプラットフォーム のプロジェクト内にパイプライン を展開する方法について説明します。

OLP CLI には、次のようなパイプラインを管理するためのツールがあります。

  1. 準備 :
  2. 展開 :

詳細について は、「プロジェクトコマンド」および「パイプライン コマンド」を参照してください。

次の図は、ワークフローを示しています。

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

プロジェクトを作成

パイプラインは、グループまたはプロジェクト範囲内に作成できます。

このワークフローでは、プロジェクトを使用してプラットフォーム のすべてのリソースを管理することが推奨されるため、プロジェクト内にパイプライン を作成します。 プロジェクトは、アプリ 、サービス、またはその他の作業中の製品をビルドするために使用する HERE platform リソースのコンテナです。 カタログ、パイプライン、スキーマ、サービスなどのリソースを含めることができます。 プロジェクトは、プロジェクト内のリソースにアクセスできるユーザー、アプリ、およびグループを制御します。 プロジェクトの詳細については、「プロジェクトの管理」ドキュメントを参照してください。

プロジェクトを作成するには、次の OLP CLI コマンドを実行します。

olp project create <YOUR_PROJECT_ID> <YOUR_PROJECT_NAME>

コマンドを使用すると、プロジェクトが作成され、プロジェクトの HERE リソースネーム が表示されます。 このプロジェクトは後でワークフローで必要になるので、 HERE リソースネーム をメモしておきます。


Project hrn:here:authorization::org:projectid has been created

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

パイプライン は、ユーザーの作業をグループ化する HERE platform の最上位のエンティティです。 作業中、ユーザーは特定の目的に応じてパイプラインを開発します。 パイプライン ごとに、 HERE platform によって複数のバージョンを保存および管理できます。

olp pipeline create--scope パラメーターを指定してコマンドを使用し、プロジェクトの範囲にパイプライン を作成しましょう。

olp pipeline create example-pipeline --scope <YOUR_PROJECT_HRN>

コマンドによってパイプライン が作成され、指定したプロジェクトに関連付けられて、パイプライン ID が表示されます。このパイプライン ID は後でワークフローで必要になるので、メモしておいてください。

Pipeline has been created
ID: ec60ab85-a735-4dce-8413-b43cd5d5202a

プロジェクトではなくグループを使用してパイプラインを作成し、指定したグループ ID に関するエラーメッセージが表示された場合は、プラットフォーム プロファイル ページで正しいグループ ID が使用されていることを確認してください。また、アプリ がそのグループの一部であることも確認してください。 自分または自分のアプリ がグループに属していない場合は、チームまたは組織の管理者に依頼して、自分または自分のアプリ をグループに割り当ててください。

パイプライン テンプレート を作成します

パイプライン テンプレート は、実行可能ファイルのパイプライン バージョンおよびパイプライン のランタイムプロパティの不変の定義です。 データへのアクセス、処理、およびデータの保存に必要なすべての設定情報が保持されます。 また、このワークフローでは、実行可能なパイプライン バージョンを作成する必要があります ( 以下を参照 ) 。 パイプライン テンプレート は、パイプライン の実際のランタイム実装と、使用する入力および出力カタログを定義します。 1 つのパイプライン テンプレート を複数のパイプライン バージョンで同時に使用できますが、使用されている入力および出力カタログは一部のジョブで上書きできます。 パイプライン は、各テンプレート に作成中に一意のテンプレート ID ( UUID )を割り当てます。

新しいパイプライン テンプレートを作成するには、次の手順を実行します。

  1. まず、アプリケーションを実行する環境を選択する必要があります。 olp pipeline environment list コマンドを実行して、使用可能な環境を取得します。

    olp pipeline environment list
    

    コマンドを実行すると、次の結果が表示されます。

    ID                    name                               resource profiles          description
    batch-2.0.0           Batch 2.0.0 (Deprecated)           HC1B, HM1B, HS1B           Spark 2.4.2, Java OpenJDK 8u262, Scala 2.11
    batch-2.1.0           Batch 2.1.0 (Deprecated)           HC1B, HM1B, HS1B           Spark 2.4.2 With AWS SDK 1.7.4, Java OpenJDK 8u262, Scala 2.11
    batch-3.0             Batch 3.0                          HC1B, HM1B, HS1B           Spark 2.4.7 With AWS SDK 1.7.4, Java OpenJDK 8u262, Scala 2.12
    stream-2.0.0          Stream 2.0.0 (Deprecated)          HC1S, HM1S, HS1S           Flink 1.7.1, Java OpenJDK 8u312, Scala 2.11
    stream-3.0.0          Stream 3.0.0 (Deprecated)          HC1S, HM1S, HS1S           Flink 1.10.1, Java OpenJDK 8u312, Scala 2.11
    stream-4.0            Stream 4.0 (Deprecated)            HC1S, HM1S, HS1S           Flink 1.10.3, Java OpenJDK 8u312, Scala 2.12
    stream-5.0            Stream 5.0                         HC1S, HM1S, HS1S           Flink 1.13.5, Java OpenJDK 8u312, Scala 2.12
    

    このコマンドを使用すると、そのユーザーで現在有効になっているすべてのランタイム環境が一覧表示されます 使用可能なランタイム環境を選択し ID 、以下のコマンドで使用します。

  2. olp pipeline template create コマンドを入力します。 テンプレート 名、ランタイム環境 (ストリーム またはバッチ)、パッケージ、メインクラス、パイプライン が属するグループ、およびパイプライン バージョン設定で想定される入力カタログ ID を指定します。

    例については、 HERE Workspace for Java and Scala Developers を参照してください。

    Linux
    olp pipeline template create "example-pipeline-template" batch-3.0 \
          example-pipeline.jar com.here.pipeline.PipelineProcessor \
          --input-catalog-ids optimized-map sensor-data --scope <YOUR_PROJECT_HRN>
    olp pipeline template create "example-pipeline-template" batch-3.0 ^
          example-pipeline.jar com.here.pipeline.PipelineProcessor ^
          --input-catalog-ids optimized-map sensor-data --scope <YOUR_PROJECT_HRN>

    コマンドによってパイプライン テンプレートが作成され、その ID が表示されます。 このテンプレート ID は後でワークフローで必要になるので、メモしておいてください。

  3. パイプライン テンプレート を確認するには olp pipeline template show 、コマンドを入力します。

    olp pipeline template show <YOUR_PIPELINE_TEMPLATE_ID> --scope <YOUR_PROJECT_HRN> --json
    

    コマンドを実行すると、次の結果が表示されます。

    {
      "created": "2018-03-30T12:40:39.577Z",
      "defaultClusterConfiguration": {
        "workerResourceProfileId": "HS1B",
        "supervisorResourceProfileId": "HS1B",
        "supervisorUnits": 1,
        "workerUnits": 1,
        "workers": 1
      },
      "name": "example-pipeline-template",
      "packageId": "ab8ea6b8-5a81-4070-9b84-ca4f28b67e22",
      "entryPointClassName": "com.here.pipeline.PipelineProcessor",
      "description": "",
      "id": "ac42c041-98ff-43d9-b0c3-0002fa756f49",
      "state": "creating",
      "defaultRuntimeConfiguration": "",
      "updated": "2018-03-30T12:40:39.577Z",
      "runtimeEnvironment": "batch-3.0",
      "inputCatalogIds": ["optimized-map", "sensor-data"]
    }
    

パイプライン バージョンを作成します

パイプライン バージョンは、 HERE Platform Pipeline 内のパイプライン の実行可能形式を表す不変のエンティティです。 各パイプライン バージョンは、特定の パイプライン JAR ファイル およびパイプライン テンプレート から作成されます。 各パイプライン バージョンに、パイプライン は作成時に独自のパイプライン バージョン ID ( UUID )を割り当てます。 1 つの パイプライン JAR ファイル に基づいて、複数のパイプライン バージョンを定義できます。 ただし、同じパイプライン バージョン(およびパイプライン バージョン ID )の 2 つのインスタンスを同時に実行することはできません。

新しいパイプラインバージョンを作成するには、次の手順を実行します。

  1. pipeline-config.conf ファイルで、入力カタログの固定 ID からカタログ HRNS へのマッピングを指定します。

    入力および出力カタログは、プロジェクト内に作成する必要があります。 パブリックカタログを使用する場合 olp project resource link は、コマンドを使用して、これらのカタログをプロジェクトにリンクする必要があります。

    サンプル pipeline-config.conf ファイル :

    
       pipeline.config {
        output-catalog { hrn = "hrn:here:data::org:example-output" }
        input-catalogs {
          optimized-map { hrn = "hrn:here:data::org:here-optimized-map-for-location-library-2" },
          sensor-data   { hrn = "hrn:here:data::org:olp-sdii-sample-berlin-2" }
        }
       }
       

    固定 ID

    パイプラインの実装では、固定 ID を使用して複数の入力カタログをバインドし、区別できます。 固定 ID は パイプライン テンプレートで定義されます。 一方、 HRNS は パイプラインの各バージョンに定義 されているため、同じパイプライン テンプレートを複数の設定で再利用できます。

  2. 「 OLP パイプライン version create 」 コマンドを入力し pipeline-config.conf 、バージョン名、パイプライン ID 、パイプライン テンプレート ID 、およびファイルへのパスを指定します。

    Linux
    olp pipeline version create example-pipeline-version <YOUR_PIPELINE_ID> \
       <YOUR_PIPELINE_TEMPLATE_ID> /user/data/pipeline-config.conf --scope <YOUR_PROJECT_HRN>
    olp pipeline version create example-pipeline-version <YOUR_PIPELINE_ID> ^
       <YOUR_PIPELINE_TEMPLATE_ID> /user/data/pipeline-config.conf --scope <YOUR_PROJECT_HRN>

    パイプライン設定の詳細について は、「パイプライン設定」を参照してください。

    このバージョン ID は後でワークフローで必要になるので、メモしておいてください。

  3. パイプライン のバージョンを確認するには olp pipeline version show 、コマンドを入力します。

    Linux
    olp pipeline version show \
         <YOUR_PIPELINE_ID> <YOUR_PIPELINE_VERSION_ID> --scope <YOUR_PROJECT_HRN>
    olp pipeline version show ^
         <YOUR_PIPELINE_ID> <YOUR_PIPELINE_VERSION_ID> --scope <YOUR_PROJECT_HRN>

    コマンドを実行すると、次の結果が表示されます。

    
       Details of the olpclitestpipe pipeline:
       ID                                 51e86a6c-a99c-450a-9e06-1b5609932ce9
       version number                     1
       pipeline template ID               ac42c041-98ff-43d9-b0c3-0002fa756f49
       output catalog HRN                 hrn:here:data::org:example-output
       input catalogs                     {"optimized-map":
           ID                            HRN     
           optimized-map                 hrn:here:data::org:here-optimized-map-for-location-library-2
           sensor-data                   hrn:here:data::org:olp-sdii-sample-berlin-2
       state                              ready
       created                            2018-04-13T13:00:45.909Z
       updated                            2018-04-13T13:01:18.346Z
       high availability                  false
       multi-region enabled               false
       schedule                           none
       workers                            1
       worker units                       1
       worker resource profile         HS1B
       supervisor units                   1
       supervisor resource profile     HS1B
       

パイプライン バージョンをアクティブ化します

パイプライン を実行するには、いずれかのパイプライン バージョンをアクティブ化する必要があります。

パイプライン バージョンをアクティブ化するに Activate は、パイプライン バージョン ID で操作を実行します。バッチ パイプライン をアクティブ化して実行 On-demand ( 今すぐ実行 ) すること Scheduledも、アクティブ化することもできます。 Scheduled オプションを使用すると、入力カタログが新しいデータで更新されたとき、またはタイムスケジュールに基づいてバッチ パイプライン バージョンを実行できます。

olp pipeline version activate コマンドを入力し、パイプライン ID とパイプライン バージョン ID の両方を指定して、実行するパイプライン バージョンをアクティブ化 On-demandします。

Linux
olp pipeline version activate \
    <YOUR_PIPELINE_ID> <YOUR_PIPELINE_VERSION_ID> --scope <YOUR_PROJECT_HRN>
olp pipeline version activate ^
    <YOUR_PIPELINE_ID> <YOUR_PIPELINE_VERSION_ID> --scope <YOUR_PROJECT_HRN>

コマンドを実行すると、次の結果が表示されます。

Pipeline version has been activated
Current state: scheduled

パイプラインバージョンの状態は、次のいずれかの方法で監視できます。

  • olp pipeline version show コマンドを使用します
  • Splunk サービスへの Logging URL を使用します。このサービスは olp pipeline version show 、コマンドを使用して表示できます
  • for ストリーム パイプラインFlink UIおよび バッチパイプラインでSpark UIを使用すると 、olp pipeline version showコマンドからpipeline UI URLフィールドに移動できます
  • olp pipeline version wait コマンドを使用して、パイプライン ジョブが目的の状態に達するまで待機します

スケジューラのないパイプラインは 、アクティブ化後すぐに実行状態に移行し、 実行が完了すると準備完了状態に移行する必要があります。 スケジューラを含むパイプラインは 、いずれかの入力カタログが変更され て実行中状態に移行するまで、スケジュール済み状態で待機します。 実行後 、 スケジュール済みの状態に戻ります。

使用可能なコマンドの完全なリストを取得するには、を入力 olp --helpします。

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

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