DatabricksからConnect AI経由でKafka に接続・クエリ

Mohsin Turki
Mohsin Turki
Technical Marketing Engineer
CData Connect AI を使用して、Kafkaのリアルタイムデータを Databricks に統合し、レプリケーションなしで直接クエリと分析を実現します。

Databricks は、データエンジニアリング、機械学習、アナリティクスを大規模に統合する AI クラウドネイティブプラットフォームです。 データウェアハウスのパフォーマンスとデータレイクの柔軟性を兼ね備えた強力なデータレイクハウスアーキテクチャを提供しています。 Databricks を CData Connect AI と統合すると、 複雑な ETL パイプラインやデータの複製を必要とせず、Kafka のデータ にリアルタイムでアクセスでき、 運用の効率化とインサイトまでの時間短縮を実現できます。

この記事では、CData Connect AI を使用して Databricks から Kafka へのセキュアなライブ接続を設定する方法を説明します。 設定が完了すると、標準 SQL を使用して Databricks ノートブックから直接Kafka のデータにアクセスでき、 データエコシステム全体でリアルタイム分析を統合できます。

概要

シンプルなステップの概要は以下のとおりです:

  1. ステップ 1 - 接続と設定: CData Connect AI で Kafka ソースへの接続を作成し、ユーザー権限を設定して、 Personal Access Token(PAT)を生成します。
  2. ステップ 2 - Databricks からクエリ: Databricks に CData JDBC ドライバーをインストールし、ノートブックに接続情報を設定して、 SQL クエリでリアルタイムのKafka のデータにアクセスします。

前提条件

始める前に、以下を準備してください:

  1. アクティブな Kafka アカウント
  2. CData Connect AI アカウント。ログインまたは 無料トライアルにサインアップできます。
  3. Databricks アカウント。こちらからサインアップまたはログインできます。

ステップ 1:CData Connect AI で Kafka 接続を設定

1.1 Kafka への接続を追加

CData Connect AI は、利用可能なデータソースに接続するためのシンプルなポイント&クリックインターフェースを提供しています。

  1. Connect AI にログインし、左側の Sources をクリックして、 右上の Add Connection をクリック
  2. CData Connect AI で接続を追加
  3. Add Connection パネルから 「Kafka」 を選択
  4. データソースを選択
  5. Kafka に接続するために必要な認証プロパティを入力します。

    Apache Kafka 接続プロパティの取得・設定方法

    それでは、Apache Kafka に接続していきましょう。.NET ベースのエディションは、Confluent.Kafka およびlibrdkafka ライブラリに依存して機能します。 これらのアセンブリはインストーラーにバンドルされており、CData 製品と一緒に自動的にインストールされます。 別のインストール方法をご利用の場合は、NuGet から依存関係のあるConfluent.Kafka 2.6.0をインストールしてください。

    Apache Kafka サーバーのアドレスを指定するには、BootstrapServers パラメータを使用します。

    デフォルトでは、CData 製品はデータソースとPLAINTEXT で通信しており、そのため、データはすべて暗号化されずに送信されます。 通信を暗号化したい場合は、以下の設定を行ってください:

    1. UseSSL をtrue に設定し、CData 製品がSSL 暗号化を使用するように構成します
    2. SSLServerCert およびSSLServerCertType を設定して、サーバー証明書をロードします

    Apache Kafka への認証

    続いて、認証方法を設定しましょう。Apache Kafka データソースでは、以下の認証方法をサポートしています:

    • Anonymous
    • Plain
    • SCRAM ログインモジュール
    • SSL クライアント証明書
    • Kerberos

    Anonymous 認証

    Apache Kafka の特定のオンプレミスデプロイメントでは、認証接続プロパティを設定することなくApache Kafka に接続できます。 このような接続はanonymous(匿名)と呼ばれます。

    匿名認証を行うには、以下のプロパティを設定してください。

    • AuthScheme:None

    その他の認証方法については、ヘルプドキュメントをご確認ください。

    接続を設定(Salesforce の例)
  6. 右上の Save & Test をクリック
  7. Kafka Connection ページで Permissions タブに移動し、 お好みに応じてユーザーベースの権限を更新します。 権限を更新

1.2 Personal Access Token(PAT)を生成

REST API、OData API、または仮想 SQL Server 経由で Connect AI に接続する場合、 Personal Access Token(PAT)が Connect AI への接続認証に使用されます。PAT は、セキュアなトークンベースの認証として ログイン認証情報の代わりに機能します。アクセスの粒度を維持するため、 サービスごとに個別の PAT を作成することをお勧めします。

  1. Connect AI アプリの右上にある歯車アイコン()をクリックして Settings ページを開く
  2. Settings ページで Access Tokens セクションに移動し、 Create PAT をクリック
  3. PAT に名前を付けて Create をクリック 新しい PAT を作成
  4. 注意:Personal Access Token は作成時にのみ表示されるので、必ずコピーして安全な場所に保存してください。

ステップ 2:Databricks で Kafka データに接続・クエリ

以下の手順に従って、Databricks から Kafka への接続を確立します。 CData JDBC Driver for Connect AI をインストールし、JAR ファイルをクラスターに追加して、ノートブックを設定し、 SQL クエリでリアルタイムのKafka のデータにアクセスします。

2.1 CData JDBC Driver for Connect AI をインストール

  1. CData Connect AI で、左側の Integrations ページをクリック。 JDBC または Databricks を検索し、Download をクリックして、 お使いの OS 用のインストーラーを選択します。
  2. ダウンロード後、インストーラーを実行して指示に従います:
    • Windows の場合:セットアップファイルを実行し、インストールウィザードに従います。
    • Mac/Linux の場合:アーカイブを解凍し、フォルダを /opt または /Applications に移動します。実行権限があることを確認してください。
  3. インストール後、インストールディレクトリで JAR ファイルを見つけます:
    • Windows:
      C:\Program Files\CData\CData JDBC Driver for Connect AI\lib\cdata.jdbc.connect.jar
    • Mac/Linux:
      /Applications/CData/CData JDBC Driver for Connect AI/lib/cdata.jdbc.connect.jar

2.2 Databricks に JAR ファイルをインストール

  1. Databricks にログイン。左側のナビゲーションペインで Compute をクリック。コンピュートクラスターを開始または作成します。 Databricks でコンピュートクラスターを起動
  2. 実行中のクラスターをクリックし、Libraries タブに移動して、右上の Install New をクリック。 Databricks の Libraries タブにアクセス
  3. Install Library ダイアログで DBFS を選択し、 cdata.jdbc.connect.jar ファイルをドラッグ&ドロップ。Install をクリック。 JDBC ドライバー JAR を DBFS にアップロード

2.3 Databricks ノートブックで Kafka データをクエリ

ノートブックスクリプト 1 - JDBC 接続を定義:

  1. 以下のスクリプトをノートブックセルに貼り付けます:

driver = "cdata.jdbc.connect.ConnectDriver"
url = "jdbc:connect:AuthScheme=Basic;User=your_username;Password=your_pat;URL=https://cloud.cdata.com/api/;DefaultCatalog=Your_Connection_Name;"
  1. 以下を置き換えます:
    • your_username - CData Connect AI のユーザー名
    • your_pat - CData Connect AI の Personal Access Token(PAT)
    • Your_Connection_Name - Sources ページの Connect AI データソース名
  2. スクリプトを実行します。

ノートブックスクリプト 2 -Kafka のデータから DataFrame を読み込み:

  1. 2 番目のスクリプト用に新しいセルを追加します。ノートブック右側のメニューから Add cell below をクリック。
  2. 以下のスクリプトを新しいセルに貼り付けます:

remote_table = spark.read.format("jdbc") \
  .option("driver", "cdata.jdbc.connect.ConnectDriver") \
  .option("url", "jdbc:connect:AuthScheme=Basic;User=your_username;Password=your_pat;URL=https://cloud.cdata.com/api/;DefaultCatalog=Your_Connection_Name;") \
  .option("dbtable", "YOUR_SCHEMA.YOUR_TABLE") \
  .load()
  1. 以下を置き換えます:
    • your_username - CData Connect AI のユーザー名
    • your_pat - CData Connect AI の Personal Access Token(PAT)
    • Your_Connection_Name - Sources ページの Connect AI データソース名
    • YOUR_SCHEMA.YOUR_TABLE - スキーマとテーブル名(例:ApacheKafka.SampleTable_1)
  2. スクリプトを実行します。

ノートブックスクリプト 3 - カラムをプレビュー:

  1. 同様に、3 番目のスクリプト用に新しいセルを追加します。
  2. 以下のスクリプトを新しいセルに貼り付けます:

display(remote_table.select("ColumnName1", "ColumnName2"))
  1. ColumnName1 と ColumnName2 を Kafka 構造の実際のカラム名に置き換えます(例:Id、Column1 など)。
  2. スクリプトを実行します。
Databricks ノートブックでKafka のデータデータをプレビュー

これで、バックエンド API の複雑さを意識することなく、またKafka のデータをレプリケーションすることなく、 Databricks ノートブック内で直接リアルタイムの Kafka のデータ を探索、結合、分析できるようになりました。


CData Connect AI を 14 日間無料でお試しください

Kafka のデータへのリアルタイムアクセスを簡素化する準備はできましたか? CData Connect AI の 14 日間無料トライアルを今すぐ開始して、 Databricks から Kafka へのシームレスなライブ接続を体験してください。

ローコード、インフラ不要、レプリケーション不要 - 重要なデータとインサイトへの シームレスでセキュアなアクセスを実現します。

はじめる準備はできましたか?

CData Connect AI の詳細、または無料トライアルにお申し込みください:

無料トライアル