Veri fabrikası etkinlikleri ve işlem hatları oluşturma

Tamamlandı

Azure Data Factory içindeki etkinlikler, veriler üzerinde gerçekleştirilecek eylemleri tanımlar ve üç kategori vardır:

  • Veri taşıma etkinlikleri
  • Veri dönüştürme etkinlikleri
  • Denetim etkinlikleri

Veri taşıma etkinlikleri

Veri taşıma etkinlikleri yalnızca verileri bir veri deposundan diğerine taşır. Kopyalama Etkinliği'ni veri taşıma etkinlikleri gerçekleştirmek için veya JSON kullanarak kullanabilirsiniz. Kaynak ve havuz olarak desteklenen çok çeşitli veri depoları vardır. Bu liste giderek artmaktadır ve en son bilgileri burada bulabilirsiniz.

Veri dönüştürme etkinlikleri

Veri dönüştürme etkinlikleri, Eşleme Veri Akışı kullanılarak Azure Data Factory'nin yazma aracında yerel olarak gerçekleştirilebilir. Alternatif olarak, dönüştürme yoluyla verileri değiştirmek veya geliştirmek ya da verilerin analizini gerçekleştirmek için işlem kaynağını çağırabilirsiniz. Bunlar Azure Databricks, Azure Batch, SQL Veritabanı ve Azure Synapse Analytics, Machine Learning Services, Azure Sanal makineler ve HDInsight gibi işlem teknolojilerini içerir. Azure'da yürütülmek üzere katalogda depolanan tüm mevcut SQL Server Integration Services (SSIS) paketlerini kullanabilirsiniz

Bu liste her zaman gelişmekte olduğundan en son bilgileri buradan alabilirsiniz.

Denetim etkinlikleri

ADF çözümlerini grafik olarak yazarken, dizideki zincirleme etkinliklerini içeren işlem hattı etkinliklerini, dallanmayı, işlem hattı düzeyinde parametreleri tanımlamayı ve işlem hattını isteğe bağlı olarak veya bir tetikleyiciden çağırırken bağımsız değişkenleri geçirmeyi yönetmek için tasarımdaki denetim akışını kullanabilirsiniz. Geçerli özellikler şunlardır:

Denetim Etkinliği Açıklama
İşlem Hattı Yürütme Etkinliği İşlem Hattı Yürütme etkinliği bir Data Factory işlem hattının başka bir işlem hattını çağırmasını sağlar.
ForEachActivity ForEach Etkinliği, işlem hattınızda yinelenen bir denetim akışını tanımlar. Bu etkinlik bir koleksiyon üzerinde yinelemek için kullanılır ve bir döngüde belirtilen etkinlikleri yürütür. Bu etkinliğin döngü uygulaması, programlama dillerindeki Foreach döngü yapısına benzer.
WebActivity Web Etkinliği bir Data Factory işlem hattından özel bir REST uç noktasını çağırmak için kullanılabilir. Etkinlik tarafından kullanılacak ve erişilecek veri kümelerini ve bağlı hizmetleri geçirebilirsiniz.
Arama Etkinliği Arama Etkinliği herhangi bir dış kaynaktan bir record/ table name/ değerini okumak veya aramak için kullanılabilir. Sonraki etkinliklerde bu çıktıya daha fazla başvurulabilir.
Meta Veri Alma Etkinliği GetMetadata etkinliği, Azure Data Factory içindeki herhangi bir verinin meta verilerini almak için kullanılabilir.
Bitiş Etkinliği Programlama dillerindeki Do-Until döngü yapısına benzer bir Do-Until döngüsü uygular. Etkinlikle ilişkilendirilmiş olan koşul doğru sonucunu verene kadar bir dizi etkinliği döngüsel olarak yürütür. Data Factory'de bitiş etkinliği için bir zaman aşımı değeri belirtebilirsiniz.
If Koşulu Etkinliği If Koşulu, doğru veya yanlış sonucunu vermesi temelinde dallanmak için kullanılabilir. If Koşulu etkinliği, programlama dilerindeki If deyimiyle aynı işlevselliği sağlar. Koşul true olarak değerlendirildiğinde bir etkinlik kümesini ve koşul false olarak değerlendirildiğinde başka bir etkinlik kümesini değerlendirir.
Bekleme Etkinliği İşlem hattında Bekleme etkinliğini kullandığınızda, işlem hattı izleyen etkinlikleri yürütmeye devam etmeden önce belirtilen süre kadar bekler.

En son bilgileri buradan alabilirsiniz.

Etkinlikler ve işlem hatları

Etkinlikleri tanımlama

JSON gösterimi kullanılırken etkinlikler bölümünde tanımlanmış bir veya daha fazla etkinlik olabilir. İki temel etkinlik türü vardır: Yürütme ve Denetim Etkinlikleri. Yürütme (İşlem olarak da bilinir) etkinlikleri veri taşıma ve veri dönüştürme etkinliklerini içerir. Aşağıdaki üst düzey yapıya sahiptir:

{
    "name": "Execution Activity Name",
    "description": "description",
    "type": "<ActivityType>",
    "typeProperties":
    {
    },
    "linkedServiceName": "MyLinkedService",
    "policy":
    {
    },
    "dependsOn":
    {
    }
}

Aşağıdaki tabloda yukarıdaki JSON'daki özellikler açıklanmaktadır:

Özellik Açıklama Gerekli
name Etkinliğin adı. Evet
açıklama Etkinliğin veya ne için kullanıldığını açıklayan metin. No
type Etkinliğin türünü tanımlar. Evet
linkedServiceName Etkinlik tarafından kullanılan bağlı hizmetin adı. HDInsight, Machine Learning Toplu Puanlama Etkinliği ve Saklı Yordam Etkinliği için Evet
typeProperties typeProperties bölümündeki özellikler her bir etkinlik türüne bağlıdır. No
ilke Etkinliğin çalışma zamanı davranışını etkileyen ilkeler. Bu özellik zaman aşımı ve yeniden deneme davranışını içerir. No
dependsOn Bu özellik etkinlik bağımlılıklarını ve sonraki etkinliklerin önceki etkinliklere ne kadar bağımlı olduğunu tanımlamak için kullanılır. No

Denetim etkinliklerini tanımlama

Data Factory'de Denetim Etkinliği JSON biçiminde aşağıdaki gibi tanımlanır:

{
    "name": "Control Activity Name",
    "description": "description",
    "type": "<ActivityType>",
    "typeProperties":
    {
    },
    "dependsOn":
    {
    }
}

Aşağıdaki tabloda yukarıdaki JSON'daki özellikler açıklanmaktadır:

Özellik Açıklama Gerekli
name Etkinliğin adı. Evet
açıklama Etkinliğin veya ne için kullanıldığını açıklayan metin. Evet
type Etkinliğin türünü tanımlar. Evet
typeProperties typeProperties bölümündeki özellikler her bir etkinlik türüne bağlıdır. No
dependsOn Bu özellik etkinlik bağımlılıklarını ve sonraki etkinliklerin önceki etkinliklere ne kadar bağımlı olduğunu tanımlamak için kullanılır. No

İşlem hatlarını tanımlama

JSON biçiminde işlem hattı şöyle tanımlanır:

{
    "name": "PipelineName",
    "properties":
    {
        "description": "pipeline description",
        "activities":
        [
        ],
        "parameters": {
         }
    }
}

Aşağıdaki tabloda yukarıdaki JSON'daki özellikler açıklanmaktadır:

Özellik Açıklama Gerekli
name İşlem hattının adı. Evet
açıklama İşlem hattının ne için kullanıldığını açıklayan metin. No
etkinlikler Etkinlikler bölümünde tanımlanmış bir veya daha fazla etkinlik olabilir. Evet
parametreler Parametreler bölümü, işlem hattınızı yeniden kullanım için esnek hale getiren, işlem hattında tanımlanmış bir veya daha fazla parametreyi içerebilir. No

Örnek

Aşağıdaki JSON, "Depolama LinkedService" adlı bağlı hizmette depolanan "partitionweblogs.hql" betik adından "AzureBlobInput" adlı bir giriş ve "AzureBlobOutput" adlı bir çıkışla bir sorgu çağıran hdInsightHive'in bir etkinlik türünü içeren "MyFirstPipeline" adlı işlem hattını tanımlar. Bunu "HDInsightOnDemandLinkedService" adlı bağlı hizmette tanımlanan işlem kaynağında yürütür

İşlem hattı aylık olarak yürütülecek şekilde zamanlanır ve başarısız olması durumunda 3 kez yürütmeyi dener.

{
    "name": "MyFirstPipeline",
    "properties": {
        "description": "My first Azure Data Factory pipeline",
        "activities": [
            {
                "type": "HDInsightHive",
                "typeProperties": {
                    "scriptPath": "adfgetstarted/script/partitionweblogs.hql",
                    "scriptLinkedService": "StorageLinkedService",
                    "defines": {
                        "inputtable": "wasb://adfgetstarted@ctostorageaccount.blob.core.windows.net/inputdata",
                        "partitionedtable": "wasb://adfgetstarted@ctostorageaccount.blob.core.windows.net/partitioneddata"
                    }
                },
                "inputs": [
                    {
                        "name": "AzureBlobInput"
                    }
                ],
                "outputs": [
                    {
                        "name": "AzureBlobOutput"
                    }
                ],
                "policy": {
                    "concurrency": 1,
                    "retry": 3
                },
                "scheduler": {
                    "frequency": "Month",
                    "interval": 1
              },
                "name": "RunSampleHiveActivity",
                "linkedServiceName": "HDInsightOnDemandLinkedService"
            }
        ],
        "start": "2017-04-01T00:00:00Z",
        "end": "2017-04-02T00:00:00Z",
        "isPaused": false,
        "hubName": "ctogetstarteddf_hub",
        "pipelineMode": "Scheduled"
    }
}