Pub/Sub 스트리밍 소스에서 읽기

Cloud Data Fusion은 스트리밍 데이터 파이프라인에서 Pub/Sub 소스를 지원합니다.

시작하기 전에

역할 및 권한

Pub/Sub 스트리밍 소스에서 읽는 데 필요한 권한을 얻으려면 관리자에게 Pub/Sub 구독에 액세스하는 데 사용되는 서비스 계정의 Pub/Sub 편집자(roles/pubsub.editor) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 액세스 관리를 참조하세요.

이 사전 정의된 역할에는 Pub/Sub 스트리밍 소스에서 읽는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 확장하세요.

필수 권한

Pub/Sub 스트리밍 소스에서 읽으려면 다음 권한이 필요합니다.

  • pubsub.snapshots.create
  • pubsub.snapshots.delete
  • pubsub.snapshots.seek
  • pubsub.subscriptions.consume
  • pubsub.topics.attachSubscription

커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.

Pub/Sub에 액세스하기 위해 플러그인 속성에 지정한 서비스 계정에 역할을 부여합니다. 아무것도 지정되지 않았으면 Dataproc 서비스 계정에 역할을 부여합니다.

역할 부여에 대한 자세한 내용은 액세스 관리를 참조하세요.

스트리밍 데이터 파이프라인에 Pub/Sub 소스 추가

  1. 인스턴스로 이동합니다.

    1. Google Cloud 콘솔에서 Cloud Data Fusion 페이지로 이동합니다.

    2. Cloud Data Fusion 웹 인터페이스에서 인스턴스를 열려면 인스턴스를 클릭한 후 인스턴스 보기를 클릭합니다.

      인스턴스로 이동

  2. Cloud Data Fusion 웹 인터페이스에서 스튜디오를 클릭합니다.

  3. 데이터 파이프라인 - 실시간을 선택합니다.

  4. 소스 메뉴에서 Pub/Sub를 선택합니다. Pub/Sub 스트리밍 소스 노드가 파이프라인에 나타납니다.

  5. Pub/Sub 노드에서 속성을 클릭하여 소스를 구성합니다. 자세한 내용은 Pub/Sub 스트리밍 소스를 참조하세요.

Windower 플러그인이 없는 단일 Pub/Sub 소스 지원

Cloud Data Fusion 버전 6.9.1은 단일 Pub/Sub 스트리밍 소스를 사용하고 Windower 플러그인이 없는 실시간 파이프라인을 지원합니다.

  • Pub/Sub 스트리밍 소스는 기본적으로 지원을 제공하며 데이터가 한 번 이상 처리됩니다. Spark 체크포인트를 사용 설정할 필요는 없습니다.
  • Pub/Sub 스트리밍 소스는 각 배치가 시작될 때 Pub/Sub 스냅샷을 만들고 각 배치가 끝날 때 이를 삭제합니다.
  • Pub/Sub 스냅샷을 만들면 관련 비용이 발생합니다. 자세한 내용은 Pub/Sub 가격 책정을 참조하세요.
  • Cloud 감사 로그에서 스냅샷 생성을 모니터링할 수 있습니다.

Pub/Sub 스트리밍 소스를 사용한 파이프라인 업그레이드

Cloud Data Fusion은 6.9.1 이상에서 생성된 Pub/Sub 스트리밍 소스를 사용한 스트리밍 파이프라인에 대한 직접 애플리케이션 업그레이드를 지원합니다.

Cloud Data Fusion에서는 버전 6.9.0 이하의 Pub/Sub 스트리밍 소스를 사용한 데이터 파이프라인의 업그레이드는 지원하지 않습니다. 대신 이러한 파이프라인을 6.9.1로 업그레이드하세요.

  1. 인스턴스 업그레이드가 계획된 경우 주제에 데이터 게시를 중지합니다.
  2. 파이프라인이 게시된 데이터의 처리를 완료할 때까지 기다립니다.
  3. 데이터가 완전히 처리되면 파이프라인을 중지합니다.
  4. 인스턴스를 업그레이드합니다.
  5. 기존 파이프라인을 복제하고 최신 플러그인으로 업데이트합니다.
  6. 파이프라인 배포
  7. 새 파이프라인을 실행하여 데이터를 읽습니다.

    새 버전은 Spark 체크포인트 대신 자동으로 스냅샷을 사용합니다.

  8. 이전 파이프라인을 삭제합니다.

다음 단계