次の方法で共有


Databricks Connect for Python で Spark シェルを使う

Note

この記事では、Databricks Runtime 13.0 以降用の Databricks Connect について説明します。

この記事では、Databricks Connect for Python と Spark シェルを使う方法について説明します。 Databricks Connect を使うと、一般的なアプリケーションを Azure Databricks クラスターに接続できます。 「Databricks Connect とは」を参照してください。

Note

Databricks Connect の使用を開始する前に、Databricks Connect クライアントを設定必要があります。

Spark シェルは、Azure Databricks 個人用アクセス トークン認証の認証でのみ機能します。

Spark シェルと Python で Databricks Connect を使用するには、次の手順に従います。

  1. Spark シェルを起動し、実行中のクラスターに接続するには、アクティブな Python 仮想環境から次のいずれかのコマンドを実行します。

    SPARK_REMOTE 環境変数を前に設定した場合は、次のコマンドを実行します。

    pyspark
    

    SPARK_REMOTE 環境変数を前に設定しなかった場合は、代わりに次のコマンドを実行します。

    pyspark --remote "sc://<workspace-instance-name>:443/;token=<access-token-value>;x-databricks-cluster-id=<cluster-id>"
    

    Spark シェルが表示されます。次に例を示します。

    Python 3.10 ...
    [Clang ...] on darwin
    Type "help", "copyright", "credits" or "license" for more information.
    Welcome to
         ____              __
        / __/__  ___ _____/ /__
       _\ \/ _ \/ _ `/ __/  '_/
      /__ / .__/\_,_/_/ /_/\_\   version 13.x.dev0
         /_/
    
    Using Python version 3.10 ...
    Client connected to the Spark Connect server at sc://...:.../;token=...;x-databricks-cluster-id=...
    SparkSession available as 'spark'.
    >>>
    
  2. Spark シェルと Python を使用してお使いのクラスターでコマンドを実行する方法については、「Interactive Analysis with the Spark Shell (Spark Shell による対話型分析) を参照してください。

    組み込みの spark 変数を使用して、実行中のクラスターの SparkSession を表します。次に例を示します。

    >>> df = spark.read.table("samples.nyctaxi.trips")
    >>> df.show(5)
    +--------------------+---------------------+-------------+-----------+----------+-----------+
    |tpep_pickup_datetime|tpep_dropoff_datetime|trip_distance|fare_amount|pickup_zip|dropoff_zip|
    +--------------------+---------------------+-------------+-----------+----------+-----------+
    | 2016-02-14 16:52:13|  2016-02-14 17:16:04|         4.94|       19.0|     10282|      10171|
    | 2016-02-04 18:44:19|  2016-02-04 18:46:00|         0.28|        3.5|     10110|      10110|
    | 2016-02-17 17:13:57|  2016-02-17 17:17:55|          0.7|        5.0|     10103|      10023|
    | 2016-02-18 10:36:07|  2016-02-18 10:41:45|          0.8|        6.0|     10022|      10017|
    | 2016-02-22 14:14:41|  2016-02-22 14:31:52|         4.51|       17.0|     10110|      10282|
    +--------------------+---------------------+-------------+-----------+----------+-----------+
    only showing top 5 rows
    

    すべての Python コードはローカルで実行されますが、DataFrame 操作を含むすべての PySpark コードは、リモートの Azure Databricks ワークスペース内のクラスターで実行され、実行応答がローカル呼び出し元に返送されます。

  3. Spark シェルを停止するには、Ctrl + d または Ctrl + z を押すか、コマンド quit() または exit() を実行します。