Mengubah data menggunakan aktivitas Hadoop MapReduce di Azure Data Factory atau Synapse Analytics

Azure Data Factory Azure Synapse Analytics

Petunjuk

Data Factory di Microsoft Fabric adalah generasi Azure Data Factory berikutnya, dengan arsitektur yang lebih sederhana, AI bawaan, dan fitur baru. Jika Anda baru menggunakan integrasi data, mulailah dengan Fabric Data Factory. Beban kerja ADF yang ada dapat ditingkatkan ke Fabric untuk mengakses kemampuan baru di seluruh ilmu data, analitik real time, dan pelaporan.

Aktivitas HDInsight MapReduce dalam Azure Data Factory atau Synapse Analytics pipeline memanggil program MapReduce pada kluster HDInsight milik Anda atau on-demand. Artikel ini membangun artikel aktivitas transformasi data, yang menyajikan gambaran umum tentang transformasi data dan aktivitas transformasi yang didukung.

Untuk mempelajari lebih lanjut, baca artikel pengenalan untuk Azure Data Factory dan Synapse Analytics, dan lakukan tutorial: Tutorial: mengubah data sebelum membaca artikel ini.

Lihat Pig dan Apache Hive untuk mengetahui detail tentang cara menjalankan skrip Pig/Apache Hive di kluster HDInsight dari alur dengan menggunakan aktivitas HDInsight Pig dan Apache Hive.

Tambahkan aktivitas HDInsight MapReduce ke pipeline dengan antarmuka pengguna

Untuk menggunakan aktivitas HDInsight MapReduce ke saluran, selesaikan langkah-langkah berikut:

  1. Telusuri MapReduce di panel Aktivitas saluran, dan seret aktivitas MapReduce ke kanvas saluran.

  2. Pilih aktivitas MapReduce baru di kanvas jika belum dipilih.

  3. Pilih tab Kluster HDI untuk memilih atau membuat layanan tertaut baru ke kluster HDInsight yang akan digunakan untuk menjalankan aktivitas MapReduce.

    Menampilkan UI untuk aktivitas MapReduce.

  4. Pilih tab Jar untuk memilih atau membuat layanan tertaut Jar baru ke akun Azure Storage yang akan menghosting skrip Anda. Tentukan nama kelas yang akan dieksekusi di sana, dan jalur file di dalam lokasi penyimpanan. Anda juga dapat mengonfigurasi detail tingkat lanjut termasuk lokasi lib Jar, konfigurasi penelusuran kesalahan, dan argumen serta parameter yang akan diteruskan ke skrip.

    Memperlihatkan UI untuk tab Jar untuk aktivitas MapReduce.

Sintaks

{
    "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"
        }
    }
}

Detail sintaksis

Properti Deskripsi Wajib
nama Nama aktivitas Ya
deskripsi Teks yang menjelaskan untuk apa aktivitas tersebut digunakan Tidak
jenis Untuk Aktivitas MapReduce, jenis aktivitasnya adalah HDinsightMapReduce Ya
NamaLayananTertaut Referensi ke kluster HDInsight yang terdaftar sebagai layanan tertaut. Untuk mempelajari layanan tertaut ini, lihat artikel Layanan tertaut komputasi. Ya
className Nama Kelas yang akan dieksekusi Ya
jarLinkedService Referensi ke Layanan yang Ditautkan Azure Storage yang digunakan untuk menyimpan file Jar. Hanya Azure Blob Storage dan ADLS Gen2 yang didukung di sini. Jika Anda tidak menentukan Layanan Tertaut ini, Layanan tertaut Azure Storage yang ditentukan dalam Layanan Tertaut HDInsight digunakan. Tidak
jarFilePath Berikan jalur ke file Jar yang disimpan di Azure Storage yang dirujuk oleh jarLinkedService. Nama file sensitif terhadap huruf besar/kecil. Ya
jarlibs Array string dari jalur ke file pustaka Jar yang dirujuk oleh tugas yang disimpan dalam Azure Storage yang ditentukan dalam jarLinkedService. Nama file sensitif terhadap huruf besar/kecil. Tidak
getDebugInfo Menentukan kapan file log disalin ke Azure Storage yang digunakan oleh kluster HDInsight (atau) yang ditentukan oleh jarLinkedService. Nilai yang diizinkan: None, Always, atau Failure. Nilai default: None. Tidak
argumen Menentukan rangkaian argumen untuk pekerjaan Hadoop. Argumen diteruskan sebagai argumen baris perintah untuk tiap tugas. Tidak
mendefinisikan Menentukan parameter sebagai pasangan kunci/nilai untuk referensi dalam skrip Apache Hive. Tidak

Contoh

Anda dapat menggunakan Aktivitas MapReduce HDInsight untuk menjalankan file jar MapReduce pada kluster HDInsight. Dalam contoh definisi JSON alur berikut, Aktivitas HDInsight dikonfigurasikan untuk menjalankan file Mahout JAR.

{
    "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"
        ]
    }
}

Anda dapat menentukan argumen untuk program MapReduce di bagian argumen. Pada runtime, Anda akan melihat beberapa argumen tambahan (misalnya: mapreduce.job.tags) dari kerangka kerja MapReduce. Untuk membedakan argumen Anda dengan argumen MapReduce, pertimbangkan untuk menggunakan opsi dan nilai sebagai argumen seperti yang ditunjukkan dalam contoh berikut (-s, --input, --output dll., adalah opsi yang langsung diikuti oleh nilainya).

Lihat artikel berikut yang menjelaskan cara mentransformasikan data dengan cara lain: