Azure Data Factory veya Synapse Analytics'te Hadoop MapReduce etkinliğini kullanarak verileri dönüştürme

ŞUNLARA UYGULANIR: Azure Data Factory Azure Synapse Analytics

İpucu

Microsoft Fabric'daki Data Factory, daha basit bir mimariye, yerleşik yapay zekaya ve yeni özelliklere sahip yeni nesil Azure Data Factory. Veri tümleştirmeyi yeni kullanmaya başladıysanız Fabric Data Factory ile başlayın. Mevcut ADF iş yükleri veri bilimi, gerçek zamanlı analiz ve raporlama genelinde yeni özelliklere erişmek için Fabric yükseltebilir.

Azure Data Factory veya Synapse Analytics pipeline içindeki HDInsight MapReduce etkinliği, MapReduce programını kendi veya isteğe bağlı HDInsight kümesinde çağırır. Bu makale , veri dönüştürme ve desteklenen dönüştürme etkinliklerine genel bir genel bakış sunan veri dönüştürme etkinlikleri makalesini oluşturur.

Daha fazla bilgi edinmek için bu makaleyi okumadan önce Azure Data Factory ve Synapse Analytics giriş makalelerini okuyun ve şu öğreticiyi yapın: Tutorial: transform data.

HDInsight Pig ve Hive etkinliklerini kullanarak bir işlem hattından HDInsight kümesinde Pig/Hive betikleri çalıştırma hakkında ayrıntılı bilgi için bkz. Pig ve Hive.

Ui ile işlem hattına HDInsight MapReduce etkinliği ekleme

İşlem hattında HDInsight MapReduce etkinliğini kullanmak için aşağıdaki adımları tamamlayın:

  1. İşlem hattı Etkinlikleri bölmesinde MapReduce araması yapıp MapReduce etkinliğini işlem hattı tuvaline sürükleyin.

  2. Henüz seçili değilse tuvaldeki yeni MapReduce etkinliğini seçin.

  3. MapReduce etkinliğini yürütmek için kullanılacak bir HDInsight kümesine bağlı yeni bir hizmet seçmek veya oluşturmak için HDI Kümesi sekmesini seçin.

    MapReduce etkinliğinin kullanıcı arabirimini gösterir.

  4. Jar sekmesini seçerek, betiğinizi barındıracak bir Azure Depolama hesabına bağlı yeni bir Jar hizmeti seçin veya oluşturun. Orada yürütülecek bir sınıf adı ve depolama konumu içinde bir dosya yolu belirtin. Ayrıca Jar libs konumu, hata ayıklama yapılandırması ve betike geçirilecek bağımsız değişkenler ve parametreler gibi gelişmiş ayrıntıları yapılandırabilirsiniz.

    MapReduce etkinliğinin Jar sekmesinin kullanıcı arabirimini gösterir.

Sözdizimi

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

Söz dizimi ayrıntıları

Özellik Açıklama Gerekli
Adı Etkinliğin adı Yes
açıklama Etkinliğin ne için kullanıldığını açıklayan metin Hayır
Tip MapReduce Etkinliği için etkinlik türü HDinsightMapReduce'dir Yes
bağlantılıHizmetAdı Bağlı hizmet olarak kaydedilen HDInsight kümesine başvuru. Bu bağlı hizmet hakkında bilgi edinmek için Bağlı hizmetleri hesaplama makalesine bakın. Yes
className Çalıştırılacak sınıfın adı Yes
jarLinkedService Jar dosyalarını depolamak için kullanılan Azure Depolama Bağlı Hizmetine başvuru. Burada yalnızca Azure Blob Depolama ve ADLS 2. Nesil bağlı hizmetler desteklenir. Bu Bağlı Hizmeti belirtmezseniz HDInsight Bağlı Hizmeti'nde tanımlanan Azure Depolama Bağlı Hizmet kullanılır. Hayır
jarFilePath jarLinkedService tarafından başvurulan Azure Depolama depolanan Jar dosyalarının yolunu belirtin. Dosya adı büyük/küçük harfe duyarlıdır. Yes
jarlibs Azure Depolama'da saklanan ve jarLinkedService'de tanımlanan iş tarafından referans alınan Jar kitaplık dosyalarının yollarının dize dizisi. Dosya adı büyük/küçük harfe duyarlıdır. Hayır
getDebugInfo Günlük dosyalarının, HDInsight kümesi tarafından kullanılan veya jarLinkedService tarafından belirtilen Azure Depolama'a ne zaman kopyalanacağını belirtir. İzin verilen değerler: Yok, Her Zaman veya Hata. Varsayılan değer: Hiçbiri. Hayır
Parametreler Hadoop görevi için bir dizi bağımsız değişken belirtir. Bağımsız değişkenler, her göreve komut satırı argümanları olarak aktarılır. Hayır
Tanımlar Hive betiği içinde başvurmak için parametreleri anahtar/değer çiftleri olarak belirtin. Hayır

Örnek

HDInsight kümesinde herhangi bir MapReduce jar dosyasını çalıştırmak için HDInsight MapReduce Etkinliğini kullanabilirsiniz. İşlem hattının aşağıdaki örnek JSON tanımında, HDInsight Etkinliği bir Mahout JAR dosyası çalıştıracak şekilde yapılandırılmıştır.

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

Bağımsız değişkenler bölümünde MapReduce programı için herhangi bir bağımsız değişken belirtebilirsiniz. Çalışma zamanında MapReduce çerçevesinden birkaç ek bağımsız değişken (örneğin: mapreduce.job.tags) görürsünüz. Bağımsız değişkenlerinizi MapReduce bağımsız değişkenleriyle ayırt etmek için, aşağıdaki örnekte gösterildiği gibi hem seçenek hem de değeri bağımsız değişken olarak kullanmayı göz önünde bulundurun (-s,--input,--output vb. seçenekler hemen ardından değerleri gelir).

Verileri başka şekillerde dönüştürmeyi açıklayan aşağıdaki makalelere bakın: