HeidiSQL で MySQL 経由でSpark のデータにアクセス

Mohsin Turki
Mohsin Turki
Technical Marketing Engineer
CData ODBC ドライバーと SQL Gateway を使用して、HeidiSQL からリアルタイムのSpark データに接続・クエリする方法を解説します。

HeidiSQL は、MariaDB、MySQL、SQL Server、PostgreSQL をネイティブでサポートするオープンソースのデータベース管理ツールです。 CData ODBC Driver for Apache Spark と SQL Gateway を組み合わせることで、HeidiSQL からリアルタイムのSpark データにもアクセスできるようになります。この記事では、オンプレミスの Spark に接続し、HeidiSQL でSpark のデータをクエリする方法を解説します。

Spark のデータへの接続設定

まだ設定していない場合は、データソース名(DSN)で必要な接続プロパティを指定します。組み込みの Microsoft ODBC データソースアドミニストレーターを使用して DSN を設定できます。これはドライバーインストールの最終ステップでもあります。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 インスタンスの「ユーザー設定」ページに移動して「アクセストークン」タブを選択することで取得できます)。

DSN を設定する際には、Max Rows 接続プロパティも設定することをお勧めします。これにより返される行数が制限され、レポートやビジュアライゼーションの設計時にパフォーマンスを向上させるのに役立ちます。

SQL Gateway の設定

SQL Gateway 概要を参照して、Spark のデータを仮想 MySQL データベースとして接続できるよう設定します。クライアントからの MySQL リクエストを受け付ける MySQL リモーティングサービスを設定します。このサービスは SQL Gateway の UI で設定できます。

SQL Gateway で MySQL リモーティングサービスを作成(Salesforce の例)

HeidiSQL から SQL Gateway に接続するには、Web に公開されたマシンで SQL Gateway を実行する必要があります。SQL Gateway を設定したら、以下の情報を控えておいてください:

  • SQL Gateway をホストしているマシンの IP アドレスまたはドメイン名
  • MySQL サービスのデータソース名(通常は CData SparkSQL Sys)
  • MySQL サービスのポート番号
  • サービスにアクセス権を持つ SQL Gateway ユーザーの資格情報

リモートアクセスの設定

ODBC ドライバーとリモーティングサービスがオンプレミスにインストールされている場合(HeidiSQL からアクセスできない場合)、リバース SSH トンネリング機能を使用してリモートアクセスを有効にできます。詳細な手順については、ナレッジベース記事「SQL Gateway SSH トンネリング機能」をご参照ください。

HeidiSQL でSpark に接続

CData ODBC Driver for Apache Spark 用の MySQL サービスを設定したら、HeidiSQL でデータに接続する準備が整います。HeidiSQL で新しい接続セッションを作成し、MySQL ライブラリタイプを選択します。

SQL Gateway で設定したSpark 用 MySQL サービスの値を使用してデータセットを設定します(データベース名には必ず DSN を使用してください)。接続を検証して「Open」をクリックします。



HeidiSQL からSpark をクエリ

  1. 左側のデータベース一覧で、先ほど設定したSpark への接続を見つけます。
  2. 左側のデータベース一覧で、適切な接続を展開して、Spark 内の個々のテーブルやデータオブジェクトを表示します。
  3. これらのテーブルに対してカスタム SQL クエリを記述し、データソースを通常の SQL Server データベースのように扱います。または、関連するテーブルを選択して各テーブルデータセットを視覚的に探索できます。

CData ODBC Driver for Apache Spark と SQL Gateway を使用することで、HeidiSQL からSpark のデータを簡単にクエリできます。HeidiSQL からオンプレミスのデータにアクセスする必要がある場合など、ご質問がありましたらサポートチームまでお問い合わせください。

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

Apache Spark ODBC Driver の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

Apache Spark Icon Apache Spark ODBC Driver お問い合わせ

Apache Spark ODBC Driver は、ODBC 接続をサポートするさまざまなアプリケーションからApache Spark データへの接続を実現するパワフルなツールです。

標準SQL とSpark SQL をマッピングして、SQL-92 で直接Apache Spark にアクセス。