Udostępnij za pośrednictwem


Przekształcanie danych przy użyciu działania Usługi Hadoop MapReduce w usłudze Azure Data Factory lub Synapse Analytics

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 MapReduce usługi HDInsight w potoku usługi Azure Data Factory lub Synapse Analytics wywołuje program MapReduce we własnym klastrze usługi HDInsight lub na żądanie. 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.

Aby dowiedzieć się więcej, przeczytaj artykuły wprowadzające dotyczące usług Azure Data Factory i Synapse Analytics, a następnie wykonaj samouczek: Samouczek: przekształcanie danych przed przeczytaniem tego artykułu.

Aby uzyskać szczegółowe informacje na temat uruchamiania skryptów Pig/Hive w klastrze usługi HDInsight z potoku przy użyciu działań pig i Hive usługi HDInsight, zobacz Pig i Hive.

Dodawanie działania MapReduce usługi HDInsight do potoku za pomocą interfejsu użytkownika

Aby użyć działania MapReduce usługi HDInsight do potoku, wykonaj następujące kroki:

  1. Wyszukaj ciąg MapReduce w okienku Działania potoku i przeciągnij działanie MapReduce na kanwę potoku.

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

  3. Wybierz kartę Klaster usługi HDI, aby wybrać lub utworzyć nową połączoną usługę z klastrem usługi HDInsight, który będzie używany do wykonywania działania MapReduce.

    Pokazuje interfejs użytkownika działania MapReduce.

  4. Wybierz kartę Jar , aby wybrać lub utworzyć nową połączoną usługę Jar z kontem usługi Azure Storage, które będzie hostować skrypt. Określ w nim nazwę klasy, która ma zostać wykonana, oraz ścieżkę pliku w lokalizacji przechowywania. Można również skonfigurować zaawansowane szczegóły, w tym lokalizację bibliotek Jar, konfigurację debugowania oraz argumenty i parametry, które mają być przekazywane do skryptu.

    Pokazuje interfejs użytkownika karty Jar dla działania MapReduce.

Składnia

{
    "name": "Map Reduce Activity",
    "description": "Description",
    "type": "HDInsightMapReduce",
    "linkedServiceName": {
        "referenceName": "MyHDInsightLinkedService",
        "type": "LinkedServiceReference"
    },
    "typeProperties": {
        "className": "org.myorg.SampleClass",
        "jarLinkedService": {
            "referenceName": "MyAzureStorageLinkedService",
            "type": "LinkedServiceReference"
        },
        "jarFilePath": "MyAzureStorage/jars/sample.jar",
        "getDebugInfo": "Failure",
        "arguments": [
            "-SampleHadoopJobArgument1"
        ],
        "defines": {
            "param1": "param1Value"
        }
    }
}

Szczegóły składni

Właściwości Opis Wymagania
name Nazwa działania Tak
opis Tekst opisujący, do czego służy działanie Nie.
type W przypadku działania MapReduce typ działania to HDinsightMapReduce Tak
linkedServiceName Odwołanie do klastra usługi HDInsight zarejestrowanego jako połączona usługa. Aby dowiedzieć się więcej o tej połączonej usłudze, zobacz artykuł Dotyczący połączonych usług obliczeniowych. Tak
className Nazwa klasy do wykonania Tak
jarLinkedService Odwołanie do połączonej usługi Azure Storage używanej do przechowywania plików Jar. W tym miejscu obsługiwane są tylko połączone usługi Azure Blob Storage i ADLS Gen2. Jeśli nie określisz tej połączonej usługi, zostanie użyta połączona usługa Azure Storage zdefiniowana w połączonej usłudze HDInsight. Nie.
jarFilePath Podaj ścieżkę do plików Jar przechowywanych w usłudze Azure Storage, o której mowa w pliku jarLinkedService. W nazwie pliku jest uwzględniana wielkość liter. Tak
jarlibs Tablica ciągów ścieżki do plików biblioteki Jar, do których odwołuje się zadanie przechowywane w usłudze Azure Storage zdefiniowanym w pliku jarLinkedService. W nazwie pliku jest uwzględniana wielkość liter. Nie.
getDebugInfo Określa, kiedy pliki dziennika są kopiowane do usługi Azure Storage używanej przez klaster usługi HDInsight (lub) określony przez plik jarLinkedService. Dozwolone wartości: Brak, Zawsze lub Niepowodzenie. Wartość domyślna: None. Nie.
Argumenty Określa tablicę argumentów dla zadania hadoop. Argumenty są przekazywane jako argumenty wiersza polecenia do każdego zadania. Nie.
Definiuje Określ parametry jako pary klucz/wartość, aby odwoływać się do skryptu Hive. Nie.

Przykład

Możesz użyć działania MapReduce usługi HDInsight, aby uruchomić dowolny plik jar MapReduce w klastrze usługi HDInsight. W poniższej przykładowej definicji JSON potoku działanie usługi HDInsight jest skonfigurowane do uruchamiania pliku JAR Mahout.

{
    "name": "MapReduce Activity for Mahout",
    "description": "Custom MapReduce to generate Mahout result",
    "type": "HDInsightMapReduce",
    "linkedServiceName": {
        "referenceName": "MyHDInsightLinkedService",
        "type": "LinkedServiceReference"
    },
    "typeProperties": {
        "className": "org.apache.mahout.cf.taste.hadoop.similarity.item.ItemSimilarityJob",
        "jarLinkedService": {
            "referenceName": "MyStorageLinkedService",
            "type": "LinkedServiceReference"
        },
        "jarFilePath": "adfsamples/Mahout/jars/mahout-examples-0.9.0.2.2.7.1-34.jar",
        "arguments": [
            "-s",
            "SIMILARITY_LOGLIKELIHOOD",
            "--input",
            "wasb://adfsamples@spestore.blob.core.windows.net/Mahout/input",
            "--output",
            "wasb://adfsamples@spestore.blob.core.windows.net/Mahout/output/",
            "--maxSimilaritiesPerItem",
            "500",
            "--tempDir",
            "wasb://adfsamples@spestore.blob.core.windows.net/Mahout/temp/mahout"
        ]
    }
}

W sekcji argumentów można określić wszystkie argumenty programu MapReduce. W czasie wykonywania zostanie wyświetlonych kilka dodatkowych argumentów (na przykład mapreduce.job.tags) ze struktury MapReduce. Aby odróżnić argumenty za pomocą argumentów MapReduce, rozważ użycie zarówno opcji, jak i wartości jako argumentów, jak pokazano w poniższym przykładzie (-s,--input,--output itp., są opcjami natychmiast po ich wartościach).

Zapoznaj się z następującymi artykułami, które wyjaśniają sposób przekształcania danych na inne sposoby: