コンテンツに移動
データ分析

Pub/Sub Lite 用 Apache Spark Structured Streaming コネクタの一般提供を開始

2023年2月14日
Google Cloud Japan Team

※この投稿は米国時間 2023 年 2 月 8 日に、Google Cloud blog に投稿されたものの抄訳です。

このたび、オープンソースの Pub/Sub Lite 用 Apache Spark コネクタが Apache Spark 3.X.X ディストリビューションに対応し、コネクタの一般提供が正式に開始になりましたのでお知らせいたします。

Pub/Sub Lite 用 Apache Spark コネクタとは

Pub/Sub Lite は、独立したアプリケーション間でメッセージを非同期で送受信するための Google Cloud メッセージ サービスです。パブリッシャー アプリケーションが Pub/Sub Lite トピックにメッセージを送信し、他のアプリケーションが Pub/Sub Lite サブスクリプションにサブスクライブすることによって、そのメッセージを受信するという仕組みになっています。

Pub/Sub Lite は、ゾーンとリージョンの両方のトピックに対応します。ゾーンとリージョンは、データの複製方法のみが異なります。ゾーントピックのデータは単一のゾーンに格納され、リージョン トピックのデータは単一リージョン内で 2 つのゾーンに複製されます。

Pub/Sub Lite Spark コネクタを利用すると、Pub/Sub Lite を Apache Spark Structured Streaming の入出力ソースとして使用できます。Pub/Sub Lite への書き込みでは、コネクタで以下の構成オプションを使用できます。
https://storage.googleapis.com/gweb-cloudblog-publish/images/1_Apache_Spark_Structured_Streaming.max-2000x2000.jpg

Pub/Sub Lite からの読み取りでは、コネクタで以下の構成オプションを使用できます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/2_Apache_Spark_Structured_Streaming.max-1200x1200.jpg

コネクタは、Databricks および Google Cloud Dataproc を含む Apache Spark の全ディストリビューションに対応しています。Pub/Sub Lite Spark コネクタの最初の GA リリースは v1.0.0 で、Apache Spark 3.X.X バージョンに対応しています。

Pub/Sub Lite を Dataproc 上の Spark Structured Streaming で使用する

Pub/Sub Lite Spark コネクタを利用すれば、Pub/Sub Lite を Spark Structured Streaming のソースとして簡単に使用することができます。

まず、以下の手順に従って Google Cloud Dataproc クラスタを作成します。

  1. クラスタのイメージ バージョンによって、クラスタにインストールされる Apache Spark のバージョンが決まります。Pub/Sub Lite Spark コネクタは現在、Spark 3.X.X をサポートしているので、イメージ バージョン 2.X.X を選択します。

  2. ‘https://www.googleapis.com/auth/cloud-platform’ スコープを指定して、Google Cloud サービスへの API アクセスを有効にします。

次に、Spark スクリプトを作成します。Pub/Sub Lite への書き込みでは、writeStream API を使用します。以下に、Python スクリプトの例を示します。
読み込んでいます...

Pub/Sub Lite からの読み込みでは、readStream API を使用するスクリプトを以下のように作成します。

読み込んでいます...

最後に、ジョブを Dataproc に送信します。ジョブを送信する際、ジョブの Jar ファイルに Pub/Sub Lite Spark コネクタを含めてください。Maven Central リポジトリで、コネクタの全バージョンが公開されています。最新バージョン(または、GA リリースの 1.0.0 以降)を選択し「with-dependencies.jar」をダウンロードしてください。この JAR ファイルを Dataproc ジョブにアップロードし、送信します。

関連情報


- ソフトウェア エンジニア Hannah Rogers

投稿先