次の方法で共有


Python または R から Azure Databricks に接続する

この記事では、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 を設定します。

  1. Azure Databricks ワークスペースから、Databricks クラスターに移動します。

    Databricks クラスターを開く

  2. [ 構成 ] タブの [ JDBC/ODBC ] タブをクリックし、[ サーバー ホスト名 ] と [ HTTP パス] の値をコピーします。 この記事の手順を完了するには、これらの値が必要です。

    Databricks の構成を取得する

  3. コンピューターで、 ODBC データ ソース アプリケーションを 64 ビットで起動します。

    ODBC データ ソース アプリのする

  4. [ ユーザー DSN ] タブの [ 追加] をクリックします。 [ 新しいデータ ソースの作成 ] ダイアログ ボックスで、[ Simba Spark ODBC ドライバー] を選択し、[ 完了] をクリックします。

    ODBC データ ソースを追加

  5. [Simba Spark ODBC Driver] ダイアログ ボックスで、次の値を指定します。

    DSN の構成

    次の表に、ダイアログ ボックスで指定する値に関する情報を示します。

    フィールド 価値
    データ ソース名 データ ソースの名前を指定します。
    ホスト 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 を開き、次の手順を実行します。

  1. RODBC パッケージを参照します。 これにより、前に作成した DSN を使用して Azure Databricks に接続できます。
  2. DSN を使用して接続を確立します。
  3. Azure Databricks のデータに対して SQL クエリを実行します。 次のスニペットでは、 radio_sample_data は Azure Databricks に既に存在するテーブルです。
  4. クエリに対していくつかの操作を実行して、出力を確認します。

次のコード スニペットは、これらのタスクを実行します。

# 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 を開き、次の手順を実行します。

  1. pyodbc パッケージをインポートします。 これにより、前に作成した DSN を使用して Azure Databricks に接続できます。
  2. 前に作成した DSN を使用して接続を確立します。
  3. 作成した接続を使用して SQL クエリを実行します。 次のスニペットでは、 radio_sample_data は Azure Databricks に既に存在するテーブルです。
  4. クエリに対して操作を実行して、出力を確認します。

次のコード スニペットは、これらのタスクを実行します。

# 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のデータ ソース に関するページを参照してください。