Python または R から Azure Databricks に接続する
この記事では、Databricks ODBC ドライバーを使用して、Python または R 言語で Azure Databricks に接続する方法を説明します。 接続が確立されると、Python または R クライアントから Azure Databricks にアクセスできるようになります。 クライアントを使用して、データをさらに分析することもできます。
前提条件
Azure Databricks ワークスペース、Spark クラスター、クラスターに関連付けられたサンプル データが必要です。 これらの前提条件がまだ揃っていない場合は、概要のクイックスタートを完了してください。
Databricks ODBC ドライバーを Databricks ドライバー ダウンロード ページからダウンロードします。 64 ビット バージョンのドライバーをインストールします。
Databricks に個人用アクセス トークンを設定します。 手順については、トークンの管理に関するページをご覧ください。
DSN のセットアップ
データ ソース名 (DSN) には特定のデータ ソースの情報が含まれます。 ODBC ドライバーはデータ ソースに接続するためにこの DSN が必要です。 このセクションでは、Databricks ODBC ドライバーで、Python または R などのクライアントから Azure Databricks に接続する際に使用できるDSN を設定します。
Azure Databricks ワークスペースから Databricks クラスターに移動します。
[構成] タブの下で、 [JDBC/ODBC](JDBC/ODBC) タブをクリックし、 [Server Hostname](サーバー ホスト名) と [HTTP Path](HTTP パス) の値をコピーします。 この記事の手順を完了するにはこれらの値が必要です。
自分のコンピューターで、64 ビットの [ODBC データ ソース] アプリケーションを起動します。
[ユーザー DSN] タブの [追加] をクリックします。 [新規データ ソースの作成] ダイアログ ボックスで、 [Simba Spark ODBC Driver](Simba Spark ODBC ドライバー) を選択し、 [完了] をクリックします。
[Simba Spark ODBC Driver](Simba Spark ODBC ドライバー) ダイアログ ボックスに次の値を入力します。
次の表に、このダイアログ ボックスに指定する値に関する情報を示します。
フィールド 値 データ ソース名 データ ソースの名前を指定します。 ホスト Databricks ワークスペースの [Server hostname](サーバー ホスト名) からコピーした値を指定します。 ポート 「443」を入力します。 認証>機構 [ユーザー名とパスワード] を選択します。 ユーザー名 「token」を入力します。 パスワード Databricks ワークスペースからコピーしたトークン値を入力します。 DSN 設定ダイアログ ボックスでさらに次の手順を実行します。
- [HTTP Options](HTTP オプション) をクリックします。 ダイアログ ボックスが開いたら、Databricks ワークスペースからコピーした [HTTP Path](HTTP パス) の値を貼り付けます。 Click OK.
- [SSL Options](SSL オプション) をクリックします。 ダイアログ ボックスが開いたら、 [SSL を有効にする] チェック ボックスをオンにします。 Click OK.
- [テスト] をクリックして Azure Databricks への接続をテストします。 [OK] をクリックして構成を保存します。
- [ODBC データ ソース アドミニストレーター] ダイアログ ボックスで [OK] をクリックします。
これで、使用する DSN が設定されました。 次のセクションでは、この DSN を使用して、Python または R から Azure Databricks に接続します。
R からの接続
注意
このセクションでは、デスクトップ上で稼働している R Studio クライアントを Azure Databricks に統合する方法について説明します。 Azure Databricks クラスター自体の上で R Studio を使用する方法については、「R Studio on Azure Databricks」(Azure Databricks 上での R Studio) を参照してください。
このセクションでは、R 言語 IDE を使用して Azure Databricks にあるデータを参照します。 開始する前に、ご使用のコンピューターに以下がインストールされている必要があります。
- R 言語の IDE。 この記事では、RStudio for Desktop を使用します。 これは R Studio ダウンロードからインストールできます。
- IDE として RStudio for Desktop を使用する場合は、https://aka.ms/rclient/ から Microsoft R Client もインストールしてください。
RStudio を開き、次の手順を実行します。
RODBC
パッケージを参照します。 これにより、前に作成した DSN を使用して Azure Databricks に接続できます。- DSN を使用して接続を確立します。
- Azure Databricks のデータに対して SQL クエリを実行します。 次のスニペットで、radio_sample_data は Azure Databricks に既に存在しているテーブルです。
- クエリに対して何らかの操作を実行して出力を確認します。
次のコード スニペットはこれらのタスクを実行します。
# reference the 'RODBC' package
require(RODBC)
# establish a connection using the DSN you created earlier
conn <- odbcConnect("<ENTER DSN NAME HERE>")
# run a SQL query using the connection you created
res <- sqlQuery(conn, "SELECT * FROM radio_sample_data")
# print out the column names in the query output
names(res)
# print out the number of rows in the query output
nrow (res)
Python からの接続
このセクションでは、Python IDE (IDLE など) を使用して Azure Databricks にあるデータを参照します。 開始する前に、次の前提条件を完了しておく必要があります。
Python をここからインストールします。 このリンクから Python をインストールすると IDLE もインストールされます。
コンピューターのコマンド プロンプトで
pyodbc
パッケージをインストールします。 次のコマンドを実行します。pip install pyodbc
IDLE を開き、次の手順を実行します。
pyodbc
パッケージをインポートします。 これにより、前に作成した DSN を使用して Azure Databricks に接続できます。- 前に作成した DSN を使用して接続を確立します。
- 作成した接続を使用して SQL クエリを実行します。 次のスニペットで、radio_sample_data は Azure Databricks に既に存在しているテーブルです。
- クエリに対して操作を実行して出力を確認します。
次のコード スニペットはこれらのタスクを実行します。
# import the `pyodbc` package:
import pyodbc
# establish a connection using the DSN you created earlier
conn = pyodbc.connect("DSN=<ENTER DSN NAME HERE>", autocommit=True)
# run a SQL query using the connection you created
cursor = conn.cursor()
cursor.execute("SELECT * FROM radio_sample_data")
# print the rows retrieved by the query.
for row in cursor.fetchall():
print(row)
次の手順
- Azure Databricks にデータをインポートできるソースについては、Azure Databricks のデータ ソースに関するページをご覧ください。