Transformera data genom att köra en Jar-aktivitet i Azure Databricks
GÄLLER FÖR: Azure Data Factory Azure Synapse Analytics
Dricks
Prova Data Factory i Microsoft Fabric, en allt-i-ett-analyslösning för företag. Microsoft Fabric omfattar allt från dataflytt till datavetenskap, realtidsanalys, business intelligence och rapportering. Lär dig hur du startar en ny utvärderingsversion kostnadsfritt!
Azure Databricks Jar-aktiviteten i en pipeline kör en Spark Jar i ditt Azure Databricks-kluster. Den här artikeln bygger på artikeln om datatransformeringsaktiviteter , som visar en allmän översikt över datatransformering och de omvandlingsaktiviteter som stöds. Azure Databricks är en hanterad plattform för att köra Apache Spark.
Om du vill se en introduktion och demonstration av den här funktionen rekommenderar vi följande videoklipp (11 minuter):
Lägga till en Jar-aktivitet för Azure Databricks i en pipeline med användargränssnittet
Utför följande steg för att använda en Jar-aktivitet för Azure Databricks i en pipeline:
Sök efter Jar i fönstret PipelineAktiviteter och dra en Jar-aktivitet till pipelinearbetsytan.
Välj den nya Jar-aktiviteten på arbetsytan om den inte redan är markerad.
Välj fliken Azure Databricks för att välja eller skapa en ny länkad Azure Databricks-tjänst som ska köra Jar-aktiviteten.
Välj fliken Inställningar och ange ett klassnamn som ska köras på Azure Databricks, valfria parametrar som ska skickas till jar-filen och bibliotek som ska installeras i klustret för att köra jobbet.
Databricks Jar-aktivitetsdefinition
Här är JSON-exempeldefinitionen för en Databricks Jar-aktivitet:
{
"name": "SparkJarActivity",
"type": "DatabricksSparkJar",
"linkedServiceName": {
"referenceName": "AzureDatabricks",
"type": "LinkedServiceReference"
},
"typeProperties": {
"mainClassName": "org.apache.spark.examples.SparkPi",
"parameters": [ "10" ],
"libraries": [
{
"jar": "dbfs:/docs/sparkpi.jar"
}
]
}
}
Egenskaper för Databricks Jar-aktivitet
I följande tabell beskrivs de JSON-egenskaper som används i JSON-definitionen:
Property | Beskrivning | Obligatoriskt |
---|---|---|
name | Namnet på aktiviteten i pipelinen. | Ja |
description | Text som beskriver vad aktiviteten gör. | Nej |
type | För Databricks Jar-aktivitet är aktivitetstypen DatabricksSparkJar. | Ja |
linkedServiceName | Namnet på den länkade Databricks-tjänst som Jar-aktiviteten körs på. Mer information om den här länkade tjänsten finns i artikeln Compute linked services (Beräkningslänkade tjänster ). | Ja |
mainClassName | Det fullständiga namnet på klassen som innehåller huvudmetoden som ska köras. Den här klassen måste finnas i en JAR som tillhandahålls som ett bibliotek. En JAR-fil kan innehålla flera klasser. Var och en av klasserna kan innehålla en huvudmetod. | Ja |
parametrar | Parametrar som skickas till huvudmetoden. Den här egenskapen är en matris med strängar. | Nej |
bibliotek | En lista över bibliotek som ska installeras i klustret som ska köra jobbet. Det kan vara en matris med <sträng, objekt> | Ja (minst en som innehåller metoden mainClassName) |
Kommentar
Känt problem – När du använder samma interaktiva kluster för att köra samtidiga Databricks Jar-aktiviteter (utan omstart av klustret) finns det ett känt problem i Databricks där parametrarna för den första aktiviteten även används av följande aktiviteter. Det leder därför till att felaktiga parametrar skickas till efterföljande jobb. För att minimera detta använder du ett jobbkluster i stället.
Bibliotek som stöds för databricks-aktiviteter
I den tidigare Databricks-aktivitetsdefinitionen angav du följande bibliotekstyper: 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"
}
}
]
}
Mer information finns i Databricks-dokumentationen för bibliotekstyper.
Ladda upp ett bibliotek i Databricks
Du kan använda arbetsytans användargränssnitt:
Om du vill hämta dbfs-sökvägen för biblioteket som lagts till med hjälp av användargränssnittet kan du använda Databricks CLI.
Vanligtvis lagras Jar-biblioteken under dbfs:/FileStore/jars när användargränssnittet används. Du kan visa en lista över hela CLI: databricks fs ls dbfs:/FileStore/job-jars
Eller så kan du använda Databricks CLI:
Använda Databricks CLI (installationssteg)
Om du till exempel vill kopiera en JAR-fil till dbfs:
dbfs cp SparkPi-assembly-0.1.jar dbfs:/docs/sparkpi.jar
Relaterat innehåll
För en elva minuter lång introduktion och demonstration av den här funktionen kan du titta på videon.