この記事では、Databricks ODBC ドライバーを使用して Azure Databricks を Python または R 言語に接続する方法について説明します。 接続を確立したら、Python または R クライアントから Azure Databricks のデータにアクセスできます。 また、クライアントを使用してデータをさらに分析することもできます。
前提条件
Azure Databricks ワークスペース、Spark クラスター、およびクラスターに関連付けられているサンプル データが必要です。 これらの前提条件がまだない場合は、始めるからクイックスタートを完了してください。
Databricks ドライバーの ダウンロード ページから Databricks ODBC ドライバーをダウンロードします。 ドライバーの 64 ビット バージョンをインストールします。
Databricks で個人用アクセス トークンを設定します。 手順については、「 トークン管理」を参照してください。
DSN を設定する
データ ソース名 (DSN) には、特定のデータ ソースに関する情報が含まれています。 ODBC ドライバーでは、データ ソースに接続するためにこの DSN が必要です。 このセクションでは、Databricks ODBC ドライバーと共に使用して、Python や R などのクライアントから Azure Databricks に接続できる DSN を設定します。
Azure Databricks ワークスペースから、Databricks クラスターに移動します。
[ 構成 ] タブの [ JDBC/ODBC ] タブをクリックし、[ サーバー ホスト名 ] と [ HTTP パス] の値をコピーします。 この記事の手順を完了するには、これらの値が必要です。
コンピューターで、 ODBC データ ソース アプリケーションを 64 ビットで起動します。
のする
[ ユーザー DSN ] タブの [ 追加] をクリックします。 [ 新しいデータ ソースの作成 ] ダイアログ ボックスで、[ Simba Spark ODBC ドライバー] を選択し、[ 完了] をクリックします。
[Simba Spark ODBC Driver] ダイアログ ボックスで、次の値を指定します。
次の表に、ダイアログ ボックスで指定する値に関する情報を示します。
フィールド 価値 データ ソース名 データ ソースの名前を指定します。 ホスト Databricks ワークスペースからコピーしたサーバー ホスト名の値を指定します。 ポート 「443」を入力します。 認証>機構 [ユーザー名とパスワード] を選択します。 ユーザー名 トークンを入力 します。 パスワード Databricks ワークスペースからコピーしたトークン値を入力します。 DSN セットアップ ダイアログ ボックスで、次の追加の手順を実行します。
- [ HTTP オプション] をクリックします。 開いたダイアログ ボックスに、Databricks ワークスペースからコピーした HTTP パス の値を貼り付けます。 OK をクリックします。
- [ SSL オプション] をクリックします。 開いたダイアログ ボックスで、[ SSL を有効にする ] チェック ボックスをオンにします。 OK をクリックします。
- [ テスト ] をクリックして、Azure Databricks への接続をテストします。 [OK] をクリックして、構成を保存します。
- [ ODBC データ ソースアドミニストレーター ] ダイアログ ボックスで、[OK] をクリック します。
これで DSN が設定されました。 次のセクションでは、この DSN を使用して、Python または R から Azure Databricks に接続します。
R から接続する
注
このセクションでは、デスクトップで実行されている R Studio クライアントを Azure Databricks と統合する方法について説明します。 Azure Databricks クラスター自体で R Studio を使用する方法については、 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のデータ ソース
に関するページを参照してください。