Databricks Connect for Python で Spark シェルを使用する

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

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

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

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

Databricks Connect を Spark シェルと Python と共に使用するには、こちらの手順に従ってください。

  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. Python で Spark シェルを使用してクラスターでコマンドを実行する方法については、「 Spark シェルを使用した対話型分析 」を参照してください。

    組み込みの 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 コードはリモート Databricks ワークスペースのクラスターで実行され、実行応答はローカルの呼び出し元に送り返されます。

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