데이터 싱크 구성

이 가이드에서는 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. 스토리지 설정 섹션을 펼치면 사용 가능한 모든 지속성 싱크 목록이 각 싱크 옆에 있는 전환 버튼과 함께 표시됩니다.

    태그 섹션 - 태그 수정 - 스토리지 사양

  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 수준에서 스토리지 설정을 변경합니다.

    유형 섹션 - 유형 목록

  2. 수정할 유형의 작업 아이콘에서 보기 / 수정 옵션을 선택합니다. 유형 버전 수정 사이드 메뉴가 표시됩니다.

  3. 스토리지 설정 패널을 펼쳐 유형의 지속성 설정에 액세스합니다.

    유형 섹션 - 유형 만들기 - 스토리지 설정

  4. 이 유형에 속하는 태그의 레코드가 기본적으로 유지될 싱크를 각각 선택합니다. 스토리지 사양은 태그가 생성될 때 태그에 상속됩니다. 스토리지 사양은 언제든지 태그 수준에서 수정할 수 있습니다.

메타데이터 인스턴스 구체화

메타데이터 인스턴스 구체화는 각 싱크에 대해 개별적으로 구성할 수 있습니다. 자세한 내용은 인스턴스 구체화를 참고하세요.

개별 태그의 기본 유형 버전 스토리지 사양 재정의

개별 태그의 유형 버전에 대한 기본 스토리지 사양을 재정의할 수도 있습니다. 즉, 유형 버전의 태그 구성 설정은 해당 유형 버전의 기본 설정을 재정의합니다.

싱크 관련 고려사항

다음 섹션에서는 싱크별 고려사항을 간략히 설명합니다.

BigQuery

데이터 유형을 만들면 MDE가 mde_data 데이터 세트에 새 테이블을 자동으로 만듭니다. 유형 버전의 유형 버전 또는 태그에서 BigQuery 싱크를 사용 설정하여 레코드가 이 테이블에 유지되는지 여부를 구성할 수 있습니다.

Bigtable Federation API

Bigtable 클러스터를 프로비저닝한 경우 레코드가 Bigtable에 유지되는지 여부를 구성하여 제휴 API를 사용하여 레코드에 액세스할 수 있습니다.

Cloud 메타데이터 인스턴스는 Bigtable에 독립형으로 유지되지 않습니다. 연합 API를 사용하여 Bigtable에서 가져오는 레코드에 클라우드 메타데이터가 있어야 하는 경우 Bigtable 싱크의 materializeCloudMetadata 값을 true로 설정해야 합니다.

Cloud Storage

레코드는 10분 창과 창당 10개 파티션을 사용하여 하이브 파티션을 사용하여 AVRO 파일의 <project_id>-gcs-ingestion라는 Cloud Storage 버킷에 저장됩니다. 레코드는 유형별로 폴더에 그룹화됩니다. 클라우드 메타데이터 인스턴스는 Cloud Storage 싱크로 단독으로 전송되지 않습니다. Cloud Storage의 레코드에 Cloud 메타데이터가 필요한 경우 Cloud Storage 싱크의 materializeCloudMetadata 값을 true로 설정해야 합니다.

Pub/Sub: Proto 및 JSON

MDE는 두 가지 Pub/Sub 싱크를 제공합니다. 하나는 레코드를 JSON 데이터 형식으로 제공하고 다른 하나는 메시지를 Protobuf 데이터 형식으로 제공합니다. 각 데이터 스키마의 참조 섹션을 참고하세요.

JSON 형식 레코드 스트림은 mde-tag-stream-json Pub/Sub 주제로 전송되고 Protobuf 형식 레코드 스트림은 mde-tag-stream-proto로 전송됩니다. 클라우드 메타데이터 인스턴스는 해당 Pub/Sub 주제로 전송되지 않습니다. Pub/Sub로 전송되는 레코드에 Cloud 메타데이터가 필요한 경우 Pub/Sub 싱크의 materializeCloudMetadata 값을 true로 설정해야 합니다. 유형에서 명시적으로 사용 설정하지 않으면 Pub/Sub 싱크가 기본적으로 사용 중지됩니다.

메타데이터, 로그, 구성 데이터의 지속성

MDE는 항상 BigQuery의 mde_dimension 및 mde_system 데이터 세트에 메타데이터 인스턴스, 로그, 구성 데이터를 유지합니다. 또한 MDE는 항상 Cloud Storage에 원시 소스 메시지를 유지합니다. 이 데이터의 지속성은 사용 중지할 수 없습니다.