通过


你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

通过在 Azure Databricks 中运行Python活动来转换数据

适用于: Azure 数据工厂 Azure Synapse Analytics

提示

Microsoft Fabric 中的 Data Factory 是下一代 Azure 数据工厂,具有更加简化的架构、内置人工智能和新功能。 如果不熟悉数据集成,请从Fabric数据工厂开始。 现有 ADF 工作负载可以升级到 Fabric,以跨数据科学、实时分析和报告访问新功能。

pipeline 中的Azure Databricks Python活动在Azure Databricks群集中运行Python文件。 本文基于数据转换活动一文,它概述了数据转换和受支持的转换活动。 Azure Databricks是用于运行 Apache Spark 的托管平台。

有关此功能的十一分钟介绍和演示,请观看以下视频:

使用 UI 将Azure Databricks Python活动添加到管道

若要在管道中为 Azure Databricks 使用 Python 活动,请完成以下步骤:

  1. 在“管道活动”窗格中搜索 Python,并将Python活动拖动到管道画布。

  2. 选择画布上的新Python活动(如果尚未选择)。

  3. 选择 Azure Databricks 选项卡以选择或创建将执行Python活动的新Azure Databricks链接服务。

    显示Python活动的UI。

  4. 选择 Settings 选项卡,并指定要执行的Python文件Azure Databricks中的路径、要传递的可选参数以及要安装在群集上以执行作业的任何其他库。

    显示用于Python活动的“设置”选项卡的UI。

Databricks Python活动定义

下面是 Databricks Python 活动的示例 JSON 定义:

{
    "activity": {
        "name": "MyActivity",
        "description": "MyActivity description",
        "type": "DatabricksSparkPython",
        "linkedServiceName": {
            "referenceName": "MyDatabricksLinkedService",
            "type": "LinkedServiceReference"
        },
        "typeProperties": {
            "pythonFile": "dbfs:/docs/pi.py",
            "parameters": [
                "10"
            ],
            "libraries": [
                {
                    "pypi": {
                        "package": "tensorflow"
                    }
                }
            ]
        }
    }
}

Databricks Python活动属性

下表描述了 JSON 定义中使用的 JSON 属性:

属性 描述 必需
名称 管道中活动的名称。
描述 描述活动用途的文本。
类型 对于 Databricks Python 活动,活动类型为 DatabricksSparkPython。
链接服务名称 Databricks 链接服务的名称,Python 活动在其上运行。 若要了解此链接服务,请参阅计算链接服务一文。
pythonFile 要执行的Python文件的 URI。 仅支持 DBFS 路径。
参数 将传递给Python文件的命令行参数。 这是一个字符串数组。
要安装在将执行作业的群集上的库列表。 它可以是<字符串、对象>数组

databricks 活动支持的库

在以上 Databricks 活动定义中,指定这些库类型:jar、egg、maven、pypi、cran

{
    "libraries": [
        {
            "jar": "dbfs:/mnt/libraries/library.jar"
        },
        {
            "egg": "dbfs:/mnt/libraries/library.egg"
        },
        {
            "maven": {
                "coordinates": "org.jsoup:jsoup:1.7.2",
                "exclusions": [ "slf4j:slf4j" ]
            }
        },
        {
            "pypi": {
                "package": "simplejson",
                "repo": "http://my-pypi-mirror.com"
            }
        },
        {
            "cran": {
                "package": "ada",
                "repo": "https://cran.us.r-project.org"
            }
        }
    ]
}

有关详细信息,请参阅库类型的 Databricks 文档

如何上传 Databricks 中的库

可以使用工作空间界面:

  1. 使用 Databricks 工作区用户界面

  2. 若要获取使用 UI 添加的库的 dbfs 路径,可以使用 Databricks CLI

    使用 UI 时,Jar 库通常存储在 dbfs:/FileStore/jars 下。 可以通过 CLI 列出所有内容:databricks fs ls dbfs:/FileStore/job-jars

或者,可以使用 Databricks CLI:

  1. 请按照使用 Databricks CLI 进行库复制的步骤操作

  2. 使用 Databricks CLI(安装步骤)

    例如,将 JAR 复制到 dbfs:dbfs cp SparkPi-assembly-0.1.jar dbfs:/docs/sparkpi.jar