Przekształcanie danych przez uruchomienie działania Jar w usłudze Azure Databricks

DOTYCZY: Azure Data Factory Azure Synapse Analytics

Napiwek

Wypróbuj usługę Data Factory w usłudze Microsoft Fabric — rozwiązanie analityczne typu all-in-one dla przedsiębiorstw. Usługa Microsoft Fabric obejmuje wszystko, od przenoszenia danych do nauki o danych, analizy w czasie rzeczywistym, analizy biznesowej i raportowania. Dowiedz się, jak bezpłatnie rozpocząć nową wersję próbną !

Działanie jar usługi Azure Databricks w potoku uruchamia plik Spark Jar w klastrze usługi Azure Databricks. Ten artykuł opiera się na artykule dotyczącym działań przekształcania danych, który zawiera ogólne omówienie transformacji danych i obsługiwanych działań przekształcania. Azure Databricks to zarządzana platforma do uruchamiania platformy Apache Spark.

Poniższy klip wideo zawiera jedenastominutowe wprowadzenie i demonstrację tej funkcji:

Dodawanie działania Jar dla usługi Azure Databricks do potoku za pomocą interfejsu użytkownika

Aby użyć działania Jar dla usługi Azure Databricks w potoku, wykonaj następujące kroki:

  1. Wyszukaj plik Jar w okienku Działania potoku i przeciągnij działanie Jar na kanwę potoku.

  2. Wybierz nowe działanie Jar na kanwie, jeśli nie zostało jeszcze wybrane.

  3. Wybierz kartę Azure Databricks , aby wybrać lub utworzyć nową połączoną usługę Azure Databricks, która wykona działanie Jar.

    Shows the UI for a Jar activity.

  4. Wybierz kartę Ustawienia i określ nazwę klasy do wykonania w usłudze Azure Databricks, opcjonalne parametry, które mają zostać przekazane do pliku Jar, a biblioteki do zainstalowania w klastrze w celu wykonania zadania.

    Shows the UI for the Settings tab for a Jar activity.

Definicja działania Jar usługi Databricks

Oto przykładowa definicja JSON działania jar usługi Databricks:

{
    "name": "SparkJarActivity",
    "type": "DatabricksSparkJar",
    "linkedServiceName": {
        "referenceName": "AzureDatabricks",
        "type": "LinkedServiceReference"
    },
    "typeProperties": {
        "mainClassName": "org.apache.spark.examples.SparkPi",
        "parameters": [ "10" ],
        "libraries": [
            {
                "jar": "dbfs:/docs/sparkpi.jar"
            }
        ]
    }
}

Właściwości działania jar usługi Databricks

W poniższej tabeli opisano właściwości JSON używane w definicji JSON:

Właściwości Opis Wymagania
name Nazwa działania w potoku. Tak
opis Tekst opisujący działanie. Nie.
type W przypadku działania Jar usługi Databricks typ działania to DatabricksSparkJar. Tak
linkedServiceName Nazwa połączonej usługi Databricks, na której jest uruchamiane działanie Jar. Aby dowiedzieć się więcej o tej połączonej usłudze, zobacz artykuł Dotyczący połączonych usług obliczeniowych. Tak
mainClassName Pełna nazwa klasy zawierającej metodę main do wykonania. Ta klasa musi być zawarta w pliku JAR udostępnionym jako biblioteka. Plik JAR może zawierać wiele klas. Każda z klas może zawierać metodę main. Tak
parameters Parametry, które zostaną przekazane do metody main. Ta właściwość jest tablicą ciągów. Nie.
biblioteki Lista bibliotek, które mają być zainstalowane w klastrze, które będą wykonywać zadanie. Może to być tablica ciągów <, obiektów> Tak (co najmniej jeden zawierający metodę mainClassName)

Uwaga

Znany problem — w przypadku korzystania z tego samego klastra interaktywnego do uruchamiania współbieżnych działań jar usługi Databricks (bez ponownego uruchamiania klastra) istnieje znany problem w usłudze Databricks, w którym parametry 1 działania będą również używane przez następujące działania. W związku z tym wynikowe przekazanie nieprawidłowych parametrów do kolejnych zadań. Aby rozwiązać ten problem, należy zamiast tego użyć klastra zadań.

Obsługiwane biblioteki dla działań usługi Databricks

W poprzedniej definicji działania usługi Databricks określono następujące typy bibliotek: jar, , eggmaven, 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"
            }
        }
    ]
}

Aby uzyskać więcej informacji, zobacz dokumentację usługi Databricks dotyczącą typów bibliotek.

Jak przekazać bibliotekę w usłudze Databricks

Możesz użyć interfejsu użytkownika obszaru roboczego:

  1. Korzystanie z interfejsu użytkownika obszaru roboczego usługi Databricks

  2. Aby uzyskać ścieżkę dbfs biblioteki dodanej przy użyciu interfejsu użytkownika, możesz użyć interfejsu wiersza polecenia usługi Databricks.

    Zazwyczaj biblioteki Jar są przechowywane w obszarze dbfs:/FileStore/jars podczas korzystania z interfejsu użytkownika. Listę można wyświetlić za pośrednictwem interfejsu wiersza polecenia: databricks fs ls dbfs:/FileStore/job-jars

Możesz też użyć interfejsu wiersza polecenia usługi Databricks:

  1. Postępuj zgodnie z instrukcjami kopiowania biblioteki przy użyciu interfejsu wiersza polecenia usługi Databricks

  2. Korzystanie z interfejsu wiersza polecenia usługi Databricks (kroki instalacji)

    Aby na przykład skopiować plik JAR do systemu dbfs: dbfs cp SparkPi-assembly-0.1.jar dbfs:/docs/sparkpi.jar

Aby zapoznać się z jedenastoma minutowym wprowadzeniem i pokazem tej funkcji, obejrzyj film wideo.