本文介绍如何从适用于 Databricks Runtime 12.2 LTS 及更低版本的 Databricks Connect 迁移到适用于 Databricks Runtime 13.3 LTS 的 Databricks Connect 以及适用于 Python 的更高版本。 Databricks Connect 使你能够将常用 IDE、笔记本服务器和自定义应用程序连接到 Azure Databricks 群集。 请参阅什么是 Databricks Connect?。
在开始使用 Databricks Connect 之前,必须先设置 Databricks Connect 客户端。
有关本文的 Scala 版本,请参阅迁移到适用于 Scala 的 Databricks Connect。
开始迁移你的 Python 项目
若要将现有 Python 代码项目或编码环境从 Databricks Connect for Databricks Runtime 12.2 LTS 及更低版本迁移到 Databricks Connect for Databricks Runtime 13.3 LTS 及更高版本:
安装安装要求中列出的、与你的 Azure Databricks 群集相符的正确 Python 版本(如果尚未在本地安装)。
如果需要,请升级 Python 虚拟环境,以使用与你的群集相符的正确 Python 版本。 有关说明,请参阅虚拟环境提供商的文档。
激活虚拟环境后,从虚拟环境中卸载 PySpark:
pip3 uninstall pyspark在虚拟环境仍处于激活状态的情况下,卸载适用于 Databricks Runtime 12.2 LTS 及更低版本的 Databricks Connect:
pip3 uninstall databricks-connect在虚拟环境仍处于激活状态的情况下,安装适用于 Databricks Runtime 13.3 LTS 及更高版本的 Databricks Connect:
pip3 install --upgrade "databricks-connect==14.0.*" # Or X.Y.* to match your cluster version.注意
Databricks 建议追加“.*”符号来指定
databricks-connect==X.Y.*而不是databricks-connect=X.Y,以确保安装最新的包。 虽然并不要求如此,但这样有助于确保为该群集使用最新的受支持功能。更新 Python 代码以初始化
spark变量(表示DatabricksSession类的实例化,类似于 PySpark 中的SparkSession)。 请参阅 Databricks Connect 的计算配置。迁移 RDD API 以使用数据帧 API,并迁移
SparkContext以使用替代项。
设置 Hadoop 配置
在客户端上,可使用 spark.conf.set API 设置 Hadoop 配置,该 API 适用于 SQL 和 DataFrame 操作。 在 sparkContext 上设置的 Hadoop 配置必须在群集配置中进行设置或使用笔记本。 这是因为在 sparkContext 上设置的配置没有绑定到用户会话,而是应用于整个群集。