各製品の資料を入手。
詳細はこちら →MySQL Workbench からSpark のデータをクエリする方法
MySQL Workbench からSpark のリアルタイムデータにクエリを実行します。
最終更新日:2022-06-10
この記事で実現できるSpark 連携のシナリオ
こんにちは!ドライバー周りのヘルプドキュメントを担当している古川です。
ODBC Driver for SparkSQL とSQL Gateway を使用することで、MySQL インターフェースを使ってSpark にクエリを実行できます。この記事では、MySQL Workbench からSpark のデータにSQL クエリを投げてデータを取得する方法をご紹介します。
CData ODBC ドライバとは?
CData ODBC ドライバは、以下のような特徴を持ったリアルタイムデータ連携ソリューションです。
- Spark をはじめとする、CRM、MA、会計ツールなど多様なカテゴリの270種類以上のSaaS / オンプレミスデータソースに対応
- 多様なアプリケーション、ツールにSpark のデータを連携
- ノーコードでの手軽な接続設定
- 標準 SQL での柔軟なデータ読み込み・書き込み
CData ODBC ドライバでは、1.データソースとしてSpark の接続を設定、2.MySQL Workbench 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。
CData ODBC ドライバのインストールとSpark への接続設定
まずは、本記事右側のサイドバーからSparkSQL ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。
未指定の場合は、データソース名(DSN)で必要な接続プロパティの値を指定します。ドライバーのインストールの最後にODBC アドミニストレーターが開きます。Microsoft ODBC データソースアドミニストレーターでDSN を作成及び設定する方法については、ヘルプドキュメントの[はじめに]チャプターを参照してください。
SparkSQL への接続
SparkSQL への接続を確立するには以下を指定します。
- Server:SparkSQL をホストするサーバーのホスト名またはIP アドレスに設定。
- Port:SparkSQL インスタンスへの接続用のポートに設定。
- TransportMode:SparkSQL サーバーとの通信に使用するトランスポートモード。有効な入力値は、BINARY およびHTTP です。デフォルトではBINARY が選択されます。
- AuthScheme:使用される認証スキーム。有効な入力値はPLAIN、LDAP、NOSASL、およびKERBEROS です。デフォルトではPLAIN が選択されます。
Databricks への接続
Databricks クラスターに接続するには、以下の説明に従ってプロパティを設定します。Note:必要な値は、「クラスター」に移動して目的のクラスターを選択し、 「Advanced Options」の下にある「JDBC/ODBC」タブを選択することで、Databricks インスタンスで見つけることができます。
- Server:Databricks クラスターのサーバーのホスト名に設定。
- Port:443
- TransportMode:HTTP
- HTTPPath:Databricks クラスターのHTTP パスに設定。
- UseSSL:True
- AuthScheme:PLAIN
- User:'token' に設定。
- Password:パーソナルアクセストークンに設定(値は、Databricks インスタンスの「ユーザー設定」ページに移動して「アクセストークン」タブを選択することで取得できます)。
SQL Gateway を構成する
Spark への接続を仮想MySQL データベースとして設定する方法については、SQL Gateway の解説記事 を参照してください。クライアントからのMySQL リクエストを受けるMySQL リモートサービスを構築します。このサービスは、SQL Gateway のUI で構成できます。
MySQL Workbench からSpark をクエリ
以下のステップでは、MySQL Workbench からSQL Gateway で作成された仮想Spark のデータベースに接続し、Spark のデータをリアルタイムで操作するための基本的なクエリを発行する方法を説明します。
SQL Gateway を介してSpark に接続
- MySQL Workbench で、[add a new MySQL connection]をクリックします。
- 接続(CData SQL Gateway for SparkSQL)に名前を付けます。
- Hostname、Port、Username のパラメータを設定し、SQL Gateway に接続します。
- Store in Vault をクリックしてパスワードを設定し、保存します。
- Test Connection をクリックして接続が正しく構成されていることを確認し、OK をクリックします。

Spark のデータをクエリしてみる
- 作成した接続(CData SQL Gateway for SparkSQL)を開きます。
- [File]->[New Query Tab]と進みます。
- SELECT * FROM `CData SparkSQL Sys`.Customers; のようなSpark のデータを取得するSQL を書いて、実行します。
- 無事、Spark のデータが取得できました。

おわりに
MySQL Workbench からリアルタイムSpark のデータにアクセスすることで、MySQL データベースと同じようにSpark をクエリおよび更新できます。CData ODBC Driver for SparkSQL とCData SQL Gateway の30日の無償評価版はこちらです。
CData ODBC ドライバは日本のユーザー向けに、UI の日本語化、ドキュメントの日本語化、日本語でのテクニカルサポートを提供しています。