适用于:
Azure 数据工厂 
 Azure Synapse Analytics
管道中的 Azure Databricks Jar 活动在 Azure Databricks 群集中运行 Spark Jar。 本文基于数据转换活动一文,它概述了数据转换和受支持的转换活动。 Azure Databricks 是一个用于运行 Apache Spark 的托管平台。
使用 UI 向管道添加 Azure Databricks 的 Jar 活动
若要在管道中使用 Azure Databricks 的 Jar 活动,请完成以下步骤:
在管道“活动”窗格中搜索“Jar”,然后将 Jar 活动拖动到管道画布上。
在画布上选择新的 Jar 活动(如果尚未选择)。
选择“Azure Databricks”选项卡,选择或创建将执行 Jar 活动的新 Azure Databricks 链接服务。
选择“设置”选项卡,并指定要在 Azure Databricks 上执行的类名、要传递给 Jar 的可选参数以及要在群集上安装以执行作业的库。
Databricks Jar 活动定义
下面是 Databricks Jar 活动的示例 JSON 定义:
{
    "name": "SparkJarActivity",
    "type": "DatabricksSparkJar",
    "linkedServiceName": {
        "referenceName": "AzureDatabricks",
        "type": "LinkedServiceReference"
    },
    "typeProperties": {
        "mainClassName": "org.apache.spark.examples.SparkPi",
        "parameters": [ "10" ],
        "libraries": [
            {
                "jar": "dbfs:/docs/sparkpi.jar"
            }
        ]
    }
}
Databricks Jar 活动属性
下表描述了 JSON 定义中使用的 JSON 属性:
| 属性 | 描述 | 必需 | 
|---|---|---|
| name | 管道中活动的名称。 | 是 | 
| description | 描述活动用途的文本。 | 否 | 
| type | 对于 Databricks Jar 活动,活动类型是 DatabricksSparkJar。 | 是 | 
| linkedServiceName | Databricks 链接服务的名称,Jar 活动在其上运行。 若要了解此链接服务,请参阅计算链接服务一文。 | 是 | 
| mainClassName | 类的全名,包含要执行的主要方法。 此类必须包含在作为库提供的 JAR 中。 一个 JAR 文件中可以包含多个类。 每个类都可以包含一种主要方法。 | 是 | 
| parameters | 将传递到主要方法的参数。 该属性是一个字符串数组。 | 否 | 
| 库 | 要安装在将执行作业的群集上的库列表。 它可以是 <string, object> 数组 | 是(至少有一个包含 mainClassName 方法) | 
注意
已知问题 - 当使用同一交互式群集来运行并发的 Databricks Jar 活动(没有重启群集)时,在 Databricks 中存在一个已知问题,即第一个活动的输入参数也会被后续活动使用。 这会导致将不正确的参数传递给后续作业。 若要缓解此问题,请改用作业群集。
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 中的库
可以使用工作区 UI:
若要获取使用 UI 添加的库的 dbfs 路径,可以使用 Databricks CLI。
使用 UI 时,Jar 库通常存储在 dbfs:/FileStore/jars 下。 可以通过 CLI 列出所有库:databricks fs ls dbfs:/FileStore/job-jars
或者,可以使用 Databricks CLI:
使用 Databricks CLI(安装步骤)
例如,将 JAR 复制到 dbfs:
dbfs cp SparkPi-assembly-0.1.jar dbfs:/docs/sparkpi.jar