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 を使用するには、次の手順に従います。
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'. >>>
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 ワークスペース内のクラスターで実行され、実行応答がローカル呼び出し元に返送されます。
Spark シェルを停止するには、
Ctrl + d
またはCtrl + z
を押すか、コマンドquit()
またはexit()
を実行します。