データシンクを構成する

このガイドでは、Manufacturing Data Engine(MDE)でデータシンクを構成する方法について説明します。

MDE は、レコードに対して次の 5 つのデータシンクをサポートしています。

  1. BigQuery
  2. Cloud Storage
  3. Bigtable と Federation API
  4. Pub/Sub(JSON 形式)
  5. Pub/Sub(Protobuf 形式)

レコードの永続性

タイプを作成するときに個々のシンクを構成する方法の例を次に示します。

REST

POST /configuration/v1/types

{
  "archetype": "<ARCHETYPE NAME>",
  "name": "<TYPE_NAME>",
  "metadataBuckets": [
    {
      "bucketName": "<BUCKET_NAME>",
      "version": "<BUCKET_VERSION>"
    }
  ],
  "storageSpecs": [
    {
      "sink": "BIG_QUERY",
      "disabled": "false",
      "materializeCloudMetadata": "false"
    },
    {
      "sink": "BIG_TABLE",
      "disabled": "false",
      "materializeCloudMetadata": "false"
    },
    {
      "sink": "GCS",
      "disabled": "false",
      "materializeCloudMetadata": "false"
    },
    {
      "sink": "PUBSUB_PROTO",
      "disabled": "false",
      "materializeCloudMetadata": "false"
    },
    {
      "sink": "PUBSUB_JSON",
      "disabled": "false",
      "materializeCloudMetadata": "false"
    }
  ]
}

次のように置き換えます。

  • ARCHETYPE: アーキタイプの名前。DISCRETE_DATA_SERIES、 CLUSTERED_DISCRETE_DATA_SERIES、 NUMERIC_DATA_SERIES、 CLUSTERED_NUMERIC_DATA_SERIES、 CONTINUOUS_DATA_SERIES、 CLUSTERED_CONTINUOUS_DATA_SERIES のいずれか。
  • TYPE_NAME: 作成するタイプの名前。
  • BUCKET_NAME: このタイプに関連付けるバケットの名前。
  • BUCKET_VERSION: このタイプに関連付けるバケットのバージョン。

コンソール

  1. ウェブ インターフェースで [CLOUD TAGS] セクションを開き、特定のタグ の [Record] 永続性設定を変更します。

    [タグ] セクション - タグのリスト

  2. 永続性設定を変更するタグの [アクション] アイコンをクリックします。

  3. [表示 / 編集] オプションを選択します。次のサイドパネルが表示されます。

    [タグ] セクション - タグを編集する

  4. [Storage Settings] という名前のセクションを開くと、使用可能なすべての永続シンクのリストが表示され、各シンクの横に切り替えボタンが表示されます。

    [タグ] セクション - [タグを編集] - [ストレージ仕様]

  5. タグに対してアクティブなシンクを選択します。このタグに取り込まれたすべてのレコードは、選択したすべてのシンクに保存されます。

同様に、次の例のように、既存のタイプに新しいバージョンを作成するときにシンクを構成できます。

REST

POST /configuration/v1/types/TYPE_NAME/versions

{
  "metadataBuckets": [
    {
      "bucketName": "EXISTING_BUCKET_NAME",
      "version": "EXISTING_BUCKET_VERSION"
    },
    {
      "bucketName": "NEW_BUCKET_NAME",
      "version": "NEW_BUCKET_VERSION"
    }
  ],
  "storageSpecs": [
    {
      "sink": "BIG_QUERY",
      "disabled": "false",
      "materializeCloudMetadata": "true"
    },
    {
      "sink": "BIG_TABLE",
      "disabled": "false",
      "materializeCloudMetadata": "false"
    },
    {
      "sink": "GCS",
      "disabled": "false",
      "materializeCloudMetadata": "false"
    },
    {
      "sink": "PUBSUB_PROTO",
      "disabled": "false",
      "materializeCloudMetadata": "false"
    },
    {
      "sink": "PUBSUB_JSON",
      "disabled": "false",
      "materializeCloudMetadata": "false"
    }
  ]
}

次のように置き換えます。

  • TYPE_NAME: 新しいバージョンが作成されるタイプの名前
  • EXISTING_BUCKET_NAME: このタイプにすでに関連付けられている既存のバケットの名前。
  • EXISTING_BUCKET_VERSION: このタイプにすでに関連付けられている既存のバケットのバージョン。
  • NEW_BUCKET_NAME: 新しいバケットの名前。
  • NEW_BUCKET_VERSION: 新しいバケットのバージョン。

コンソール

  1. 上部のメニューの [TYPES] セクションを開き、[Type] レベルでストレージ設定を変更します。

    Types セクション - 型のリスト

  2. 編集するタイプ の [アクション] アイコンで、[表示 / 編集] オプションを選択します。[Edit Type Version] サイドメニューが表示されます。

  3. [Storage Settings] パネルを開いて、永続性 設定にアクセスします。

    [Types] セクション - [Create Type] - [Storage Settings]

  4. このタイプに属するタグのレコードがデフォルトで保存される各シンクを選択します。ストレージ仕様は、タグの作成時にタグに継承されます。ストレージ仕様は、タグレベルでいつでも変更できます。

メタデータ インスタンスのマテリアライズ

メタデータ インスタンスのマテリアライズは、シンクごとに個別に構成できます。 詳細については、 インスタンスのマテリアライズをご覧ください。

個々のタグのデフォルトのタイプ バージョン ストレージ仕様をオーバーライドする

個々のタグのタイプ バージョンのデフォルトのストレージ仕様をオーバーライドすることもできます。つまり、タイプ バージョンのタグ構成設定は、そのタイプ バージョンのデフォルト設定をオーバーライドします。

シンク固有の考慮事項

以降のセクションでは、シンク固有の考慮事項について説明します。

BigQuery

データタイプを作成すると、MDE は mde_data データセットに新しいテーブルを自動的に作成します。レコードをこのテーブルに保存するかどうかは、タイプ バージョンまたはタイプ バージョンのタグで BigQuery シンクを有効にすることで構成できます。

Bigtable Federation API

Bigtable クラスタをプロビジョニングしている場合は、Federation API を使用してアクセスできるように、レコードを Bigtable に保存するかどうかを構成できます。

Cloud メタデータ インスタンスは、Bigtable に単独で保存されません。Federation API を使用して Bigtable から取得するレコードに Cloud メタデータが必要な場合は、Bigtable シンクの materializeCloudMetadata の値を true に設定する必要があります。

Cloud Storage

レコードは、10 分間のウィンドウとウィンドウごとに 10 個のパーティションを使用して Hive パーティショニングを使用する AVRO ファイルの <project_id>-gcs-ingestionという Cloud Storage バケットに保存されます。レコードはタイプごとにフォルダにグループ化されます。Cloud メタデータ インスタンスは、Cloud Storage シンクに単独で送信されません。Cloud Storage のレコードに Cloud メタデータが必要な場合は、Cloud Storage シンクの materializeCloudMetadata の値を true に設定する必要があります。

Pub/Sub: Proto と JSON

MDE には、Pub/Sub シンクの 2 つのフレーバーがあります。1 つは JSON データ形式でレコードを提供するもの、もう 1 つは Protobuf データ形式でメッセージを提供するものです。それぞれのデータスキーマについては、リファレンス セクションをご覧ください。

JSON 形式のレコード ストリームは mde-tag-stream-json Pub/Sub トピックに送信され、Protobuf 形式のレコード ストリームは mde-tag-stream-proto に送信されます。Cloud メタデータ インスタンスは、それぞれの Pub/Sub トピックに送信されません。Pub/Sub に送信されるレコードに Cloud メタデータが必要な場合は、Pub/Sub シンクの materializeCloudMetadata の値を true に設定する必要があります。 タイプで明示的に有効にしない限り、Pub/Sub シンクはデフォルトで無効になっています。

メタデータ、ログ、構成データの永続性

MDE は常に、メタデータ インスタンス、ログ、構成データを BigQuery の mde_dimension データセットと mde_system データセットに保存します。また、MDE は常に未加工のソース メッセージを Cloud Storage に保存します。このデータの永続性を無効にすることはできません。