迁移到适用于Python的Databricks Connect

本文介绍如何将 Databricks Connect 从 Databricks Runtime 12.2 LTS 及更低版本迁移到 Databricks Runtime 13.3 LTS 及更高版本,以便使用 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 及更高版本:

  1. 安装安装要求中列出的正确版本的Python以匹配Azure Databricks群集(如果尚未在本地安装)。

  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 变量(它表示 pySpark 中DatabricksSession 类的实例化,类似于 pySpark 中的 SparkSession)。 请参阅 Databricks Connect 的计算配置。

  7. 将 RDD API 迁移为使用 DataFrame API,并将SparkContext迁移为使用替代方案。

设置 Hadoop 配置

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