Databricks Connect for Python で Spark シェルを使用する
注
この記事では、Databricks Runtime 13.3 LTS 以降の Databricks Connect について説明します。
この記事では、Databricks Connect for Python と Spark シェルの使用方法について説明します。 Databricks Connect 、一般的なアプリケーションをDatabricksコンピュート に接続できます。 「Databricks Connect とは何ですか?」を参照してください。
注
Databricks Connectの使用を開始する前に、Databricks Connect クライアントをセットアップする必要があります。
Spark シェルは、 Databricks の個人用アクセストークン認証 認証でのみ機能します。
Databricks Connect を Spark シェルと Python と共に使用するには、こちらの手順に従ってください。
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.range(1,10).show()
などの単純な PySpark コマンドを実行します。 エラーがなければ、正常に接続されています。
SparkSparkシェルをPython で使用してコンピュート上でコマンドを実行する方法については、「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 ワークスペースのクラスターで実行され、実行応答はローカルの呼び出し元に送り返されます。
Spark シェルを停止するには、
Ctrl + d
またはCtrl + z
キーを押すか、コマンドを実行しますquit()
またはexit()
。