迁移到适用于 Python 的 Databricks Connect

本文介绍如何从适用于 Databricks Runtime 12.2 LTS 及更低版本的 Databricks Connect 迁移到适用于 Databricks Runtime 13.3 LTS 的 Databricks Connect 以及适用于 Python 的更高版本。 Databricks Connect 使你能够将常用 IDE、笔记本服务器和自定义应用程序连接到 Azure Databricks 群集。 请参阅什么是 Databricks Connect?。 有关本文的 Scala 版本,请参阅迁移到适用于 Scala 的 Databricks Connect

注意

在开始使用 Databricks Connect 之前,必须先设置 Databricks Connect 客户端

按照以下指导将现有的 Python 代码项目或编码环境从适用于 Databricks Runtime 12.2 LTS 及更低版本的 Databricks Connect,迁移到适用于 Databricks Runtime 13.3 LTS 及更高版本的 Databricks Connect。

  1. 安装安装要求中列出的、与你的 Azure Databricks 群集相符的正确 Python 版本(如果尚未在本地安装)。

  2. 如果需要,请升级 Python 虚拟环境,以使用与你的群集相符的正确 Python 版本。 有关说明,请参阅虚拟环境提供商的文档。

  3. 激活虚拟环境后,从虚拟环境中卸载 PySpark:

    pip3 uninstall pyspark
    
  4. 在虚拟环境仍处于激活状态的情况下,卸载适用于 Databricks Runtime 12.2 LTS 及更低版本的 Databricks Connect:

    pip3 uninstall databricks-connect
    
  5. 在虚拟环境仍处于激活状态的情况下,安装适用于 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,以确保安装最新的包。 虽然并不要求如此,但这样有助于确保为该群集使用最新的受支持功能。

  6. 更新 Python 代码以初始化 spark 变量(表示 DatabricksSession 类的实例化,类似于 PySpark 中的 SparkSession)。 有关代码示例,请参阅安装适用于 Python 的 Databricks Connect

  7. 迁移 RDD API 以使用数据帧 API,并迁移 SparkContext 以使用替代项。

设置 Hadoop 配置

在客户端上,可使用 spark.conf.set API 设置 Hadoop 配置,该 API 适用于 SQL 和 DataFrame 操作。 在 sparkContext 上设置的 Hadoop 配置必须在群集配置中进行设置或使用笔记本。 这是因为在 sparkContext 上设置的配置没有绑定到用户会话,而是应用于整个群集。