将 Spark shel 与 Databricks Connect for Python 配合使用
注意
本文介绍适用于 Databricks Runtime 13.3 LTS 及更高版本的 Databricks Connect。
本文介绍如何使用 Databricks Connect for Python 和 Spark shell。 通过 Databricks Connect,可以将常用应用程序连接到 Azure Databricks 计算。 请参阅什么是 Databricks Connect?。
注意
在开始使用 Databricks Connect 之前,必须先设置 Databricks Connect 客户端。
Spark shell 仅适用于 Azure Databricks 个人访问令牌身份验证。
若要将 Databricks Connect 与 Spark shell 和 Python 配合使用,请按以下说明操作。
若要启动 Spark shell 并将其连接到正在运行的群集,请从已激活的 Python 虚拟环境运行以下命令之一:
如果已设置
SPARK_REMOTE
环境变量,请运行以下命令:pyspark
如果未设置
SPARK_REMOTE
环境变量,请改为运行以下命令:pyspark --remote "sc://<workspace-instance-name>:443/;token=<access-token-value>;x-databricks-cluster-id=<cluster-id>"
此时会显示 Spark shell,例如:
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'. >>>
现在运行简单的 PySpark 命令,例如 spark.range(1,10).show()
。 如果未出现错误,则表示连接成功。
有关如何配合使用 Spark shell 和 Python 在计算上运行命令的信息,请参阅使用 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 shell,请按
Ctrl + d
或Ctrl + z
,或者运行命令quit()
或exit()
。