Original Blog, 翻訳: junichi.maruyama
Databricks Lakehouse PlatformのGoogle Pub/Subコネクタの正式リリースをお知らせします。この新しいコネクタは、外部データソースコネクタの広範なエコシステムに追加され、Databricksから直接Google Pub/Subに簡単に登録し、リアルタイムでデータを処理・分析することができます。
Google Pub/Sub connectorを使用すると、Pub/Subトピックを介して流れる豊富なリアルタイムデータを簡単に利用することができます。IoTデバイスからのストリーミングデータ、ユーザーインタラクション、アプリケーションログなど、Pub/Subストリームをサブスクライブする機能は、リアルタイム分析および機械学習のユースケースの可能性を広げます:
また、Pub/Subコネクタを使用して、Google Cloudからのリアルタイムデータを燃料とする低レイテンシーの運用ユースケースを推進することができます:
このブログでは、Google Pub/Sub connectorとDatabricks Lakehouse Platform.のStructured Streamingを組み合わせた主な利点について説明します。
Exactly-Once 処理セマンティクス
ストリーミングデータを処理する場合、データの整合性は非常に重要です。DatabricksのGoogle Pub/Subコネクタは、すべてのレコードが(サブスクライブ側の)重複やデータ損失なしに処理されるような、正確な処理セマンティクスを保証し、Delta Lakeシンクと組み合わせることで、データパイプライン全体に対してexactly-once配信を実現します。つまり、大量のリアルタイムデータを扱う場合でも、データパイプラインを信頼性、正確性、低レイテンシーで運用することができるのです。
構成が簡単
データエンジニアがストリーミングデータを効果的に扱えるようにするには、シンプルさが重要です。そのため、Google Pub/Subコネクタは、PythonやScalaを使用してSpark Structured Streamingとの接続を簡単に設定できるように、ユーザーフレンドリーな構文で設計しました。サブスクリプション、トピック、プロジェクトの詳細を提供することで、接続を素早く確立し、Pub/Subデータストリームの消費をすぐに開始することができます。
Code example:
データセキュリティの強化、きめ細かなアクセスコントロール
データのセキュリティは、どの組織にとっても最優先事項です。Databricksでは、Google Pub/Sub接続 を安全に認証するためにシークレットを使用することを推奨します。セキュアな接続を確立するためには、以下のオプションが必要です:
- clientID
- clientEmail
- privateKey
- privateKeyId
セキュアな接続が確立されたら、データのプライバシーと制御を維持するためにアクセス制御を微調整することが不可欠です。Pub/Sub コネクタはロールベースアクセスコントロール(RBAC)をサポートしており、異なるユーザーまたはグループに特定の権限を付与することで、許可された個人のみがデータにアクセスし処理することができます。以下の表は、構成された認証情報に必要な役割について説明しています:
Roles | Required / Optional | How it's used |
---|---|---|
roles/pubsub.viewer or roles/viewer | Required | サブスクリプションが存在するかどうかをチェックし、サブスクリプションを取得する |
roles/pubsub.subscriber | Required | サブスクリプションからデータを取得する |
roles/pubsub.editor or roles/editor | Optional | サブスクリプションが存在しない場合にその作成を可能にし、また、ストリーム終了時にサブスクリプションを削除するためにdeleteSubscriptionOnStreamStopを使用できるようにします。 |
スキーママッチング
読み込んだレコードと、それがストリーム のDataFrameスキーマにどのようにマッピングされているかを知ることは、非常にわかりやすい。Google Pub/Sub connectorは、受信したデータをマッチングさせ、開発プロセス全体を簡素化します。DataFrameスキーマは、以下のようにPub/Subからフェッチされるレコードにマッチします:
Field | Type |
---|---|
messageId | StringType |
payload | ArrayType[ByteType] |
attributes | StringType |
publishTimestampInMillis | LongType |
NOTE: レコードには、空でないペイロードフィールドか、少なくとも一つの属性が含まれていなければならない
レイテンシーとコストに対する柔軟性
Spark Structured Streamingでは、Google Pub/Subソースからのデータを段階的に処理することができ、各マイクロバッチのトリガー間隔を制御するオプションが追加されました。これにより、データの鮮度を維持するために必要な頻度でデータを取り込み、処理しながら、コストをコントロールする柔軟性が高まります。Trigger.AvailableNow()オプションは、利用可能なすべてのレコードを増分バッチとして消費し、maxBytesPerTriggerなどのオプションでバッチサイズを構成するオプションを提供します(サイズオプションはデータソースによって異なることに注意してく ださい)。Spark Structured StreamingのPub/Subとインクリメンタルデータ処理の設定オプションの詳細については、製品ドキュメントを参照してください。
ストリーミングメトリクスのモニタリング
データストリームに関する洞察を提供するために、Spark Structured Streamingには進捗状況メトリクスが含まれています。これらのメトリクスには、フェッチされて処理できるようになったレコードの数、それらのレコードのサイズ、ストリームが開始されてから見られた重複の数などが含まれます。これにより、ストリーミングジョブの進捗とパフォーマンスを追跡し、時間の経過とともにチューニングすることができます。以下はその一例です:
カスタマーサクセス
Xiaomiは、IoTプラットフォームで接続されたスマートフォンやスマートハードウェアを中核とする家電およびスマート製造企業です。世界最大級のスマートフォンメーカーであり、Fortune Global 500の最年少メンバーでもあるXiaomiは、Pub/Subコネクタの初期プレビュー顧客の1つでした。Xiaomiの国際インターネット事業部のシニアスタッフソフトウェアエンジニアであるPan Zhangが、Pub/Subコネクタが彼のチームに与えた技術的およびビジネス的影響について語ります:
"このコネクタは、データの取り込みと統合の処理方法に革命をもたらすものであり、私たちはこのコネクタに感激しています。Databricksとの提携により、これらの重要な領域で必要とされる労力が大幅に削減されました。 このコラボレーションは、当社のデータ能力を向上させ、技術的進歩の最前線に立ち、当社のエコシステム全体のイノベーションを促進することができます。さらに、このコラボレーションは、Xiaomiの国際インターネットビジネスにおいて、Google Cloud Platform(GCP)サービスと統合する際に、Time to Market(TTM)の短縮に役立つことが証明されています。Pub/Subコネクタはプロセスを合理化し、GCPサービスのパワーを迅速に活用し、顧客に革新的なソリューションを提供することを可能にします。 統合プロセスを加速することで、新機能や機能強化の展開を早め、最終的にユーザーにシームレスで効率的な体験を提供することができます。"
Melexis社は、車載用センサーと高度なミックスドシグナル半導体ソリューションを専門とするベルギーのマイクロエレクトロニクスメーカーで、Google Pub/Subコネクタですでに初期の成功を収めているもう一人のお客様です。Melexisのデータ&アナリティクスチームリーダーであるDavid Van Hemelenは、Pub/SubコネクタとDatabricksのパートナーシップに対するチームの満足度を要約しています:
"私たちは、Pub/Subセットアップから大量の製造データをDatabricksプラットフォームにストリーミングして処理することで、生産監視、設備効率分析、AIイニシアティブの拡張のためにリアルタイムの洞察を活用できるようにしたいと考えていました。 DatabricksチームによるガイダンスとPub/Subコネクタ自体は、機能性とパフォーマンスの点で私たちの期待を上回るもので、このプロジェクトはスムーズでテンポの良い実装プロジェクトとなりました。"
今すぐ始める
Google Pub/Sub コネクタは Databricks Runtime 13.1 から利用可能です。開始方法の詳細については、「Subscribe to Google Pub/Sub」ドキュメントを参照してください。
Databricksでは、統合機能を強化し、より強力なデータストリーミング機能を提供し、統合されたLakehouse Platformからお客様のリアルタイム分析、AI、および運用アプリケーションを強化するために、常に取り組んでいます。また、Delta Live TablesのGoogle Pub/Subのサポートもまもなく発表する予定ですので、さらなるアップデートにご期待ください!
Databricks Lakehouse Platformでのストリーミングに関する数多くのお客様の成功事例をご覧いただくか、ご希望のクラウド上でDatabricksを無料でテストドライブしてください。