Azure Data Factory ve Azure Synapse Analytics’teki işlem hatları ve etkinlikler

UYGULANANLAR: Azure Data Factory Azure Synapse Analytics

İpucu

Kuruluşlar için hepsi bir arada analiz çözümü olan Microsoft Fabric'te Data Factory'yi deneyin. Microsoft Fabric , veri taşımadan veri bilimine, gerçek zamanlı analize, iş zekasına ve raporlamaya kadar her şeyi kapsar. Yeni bir deneme sürümünü ücretsiz olarak başlatmayı öğrenin!

Önemli

Azure Machine Learning Studio (klasik) desteği 31 Ağustos 2024'te sona erecektir. Bu tarihe kadar Azure Machine Learning'e geçmenizi öneririz.

1 Aralık 2021 itibarıyla yeni Machine Learning Studio (klasik) kaynakları (çalışma alanı ve web hizmeti planı) oluşturamazsınız. 31 Ağustos 2024'e kadar mevcut Machine Learning Studio (klasik) denemelerini ve web hizmetlerini kullanmaya devam edebilirsiniz. Daha fazla bilgi için bkz.

Machine Learning Studio (klasik) belgeleri kullanımdan kaldırılıyor ve gelecekte güncelleştirilmeyebilir.

Bu makale, Azure Data Factory ve Azure Synapse Analytics'teki işlem hatlarını ve etkinlikleri anlamanıza ve bunları kullanarak veri taşıma ve veri işleme senaryolarınız için uçtan uca veri odaklı iş akışları oluşturmanıza yardımcı olur.

Genel bakış

Data Factory veya Synapse Çalışma Alanı'nın bir veya daha fazla işlem hattı olabilir. İşlem hattı, bir görevi gerçekleştiren etkinliklerden oluşan mantıksal gruptur. Örneğin bir işlem hattında günlük verilerini alıp temizleyen ve ardından bu verilerin analiz edilmesi için bir eşleme veri akışı başlatan etkinlikler bulunabilir. İşlem hattı, etkinlikleri ayrı ayrı değil küme halinde yönetmenizi sağlar. Etkinlikleri tek tek zamanlamak yerine işlem hattını dağıtabilir ve zamanlayabilirsiniz.

İşlem hattındaki etkinlikler, verilerinizde gerçekleştirilecek eylemleri tanımlar. Örneğin, kopyalama etkinliğini kullanarak SQL Server’dan Azure Blob Depolama’ya veri kopyalayabilirsiniz. Ardından, blob depolamadan iş zekası raporlama çözümlerinin oluşturulduğu Azure Synapse Analytics havuzuna verileri işlemek ve dönüştürmek için bir veri akışı etkinliği veya Databricks Not Defteri etkinliği kullanın.

Azure Data Factory ve Azure Synapse Analytics'in üç etkinlik grubu vardır: veri taşıma etkinlikleri, veri dönüştürme etkinlikleri ve denetim etkinlikleri. Bir etkinliğin sıfır veya sıfırdan çok giriş veri kümesi olabilir ve her etkinlik bir veya birden çok çıkış veri kümesi oluşturabilir. Aşağıdaki diyagramda işlem hattı, etkinlik ve veri kümesi arasındaki ilişki gösterilmektedir:

Veri kümesi, etkinlik ve işlem hattı arasındaki ilişki

Giriş veri kümesi işlem hattındaki bir etkinliğin girişini, çıkış veri kümesi ise etkinliğin çıkışını temsil eder. Veri kümeleri tablolar, dosyalar, klasörler ve belgeler gibi farklı veri depolarındaki verileri tanımlar. Bir veri kümesi oluşturduktan sonra, bu kümeyi bir işlem hattındaki etkinliklerle birlikte kullanabilirsiniz. Örneğin, veri kümesi bir Kopyalama Etkinliğinin veya HDInsightHive Etkinliğinin giriş/çıkış veri kümesi olabilir. Veri kümeleri hakkında daha fazla bilgi için Azure Data Factory'de Veri Kümeleri makalesine bakın.

Not

Kapsayıcılar için iç etkinlikleri içeren, işlem hattı başına varsayılan en fazla 80 etkinlik geçici sınırı vardır.

Veri taşıma etkinlikleri

Data Factory’deki Kopyalama Etkinliği bir kaynak veri deposundan havuz veri deposuna verileri kopyalar. Data Factory bu bölümdeki tabloda listelenen veri depolarını destekler. Herhangi bir kaynaktan gelen veriler herhangi bir havuza yazılabilir.

Daha fazla bilgi için Kopyalama Etkinliği - Genel Bakış makalesine bakın.

Bir depoya veya depodan veri kopyalama hakkında bilgi edinmek için veri deposuna tıklayın.

Kategori Veri deposu Kaynak olarak desteklenen Havuz olarak desteklenen Azure IR tarafından desteklenen Şirket içinde barındırılan IR tarafından desteklenen
Azure Azure Blob Depolama
  Azure AI Search dizini
  NoSQL için Azure Cosmos DB
  MongoDB için Azure Cosmos DB
  Azure Veri Gezgini
  Azure Data Lake Storage Gen1
  Azure Data Lake Storage 2. Nesil
  MariaDB için Azure Veritabanı
  MySQL için Azure Veritabanı
  PostgreSQL için Azure Veritabanı
  Azure Databricks Delta Lake
  Azure Dosyaları
  Azure SQL Veritabanı
  Azure SQL Yönetilen Örnek
  Azure Synapse Analytics
  Azure Tablo Depolama
Veritabanı Oracle için Amazon RDS
  SQL Server için Amazon RDS
  Amazon Redshift
  DB2
  Drill
  Google BigQuery
  Greenplum
  HBase
  Hive
  Apache Impala
  Informix
  MariaDB
  Microsoft Access
  MySQL
  Netezza
  Oracle
  Phoenix
  PostgreSQL
  Presto
  Açık Hub aracılığıyla SAP Business Warehouse
  MDX aracılığıyla SAP Business Warehouse
  SAP HANA Havuz yalnızca ODBC Bağlayıcısı ve SAP HANA ODBC sürücüsüyle desteklenir
  SAP tablosu
  Snowflake
  Spark
  SQL Server
  Sybase
  Teradata
  Vertica
NoSQL Cassandra
  Couchbase (Önizleme)
  MongoDB
  MongoDB Atlas
Dosya Amazon S3
  Amazon S3 Uyumlu Depolama
  Dosya sistemi
  FTP
  Google Cloud Storage
  HDFS
  Oracle Cloud Storage
  SFTP
Genel protokol Genel HTTP
  Genel OData
  Genel ODBC
  Genel REST
Hizmetler ve uygulamalar Amazon Market Web Hizmeti (Kullanım Dışı)
  Concur (Önizleme)
  Dataverse
  Dynamics 365
  Dynamics AX
  Dynamics CRM
  Google AdWords
  HubSpot
  Jira
  Magento (Önizleme)
  Marketo (Önizleme)
  Microsoft 365
  Oracle Eloqua (Önizleme)
  Oracle Responsys (Önizleme)
  Oracle Service Cloud (Önizleme)
  PayPal (Önizleme)
  QuickBooks (Önizleme)
  Salesforce
  Salesforce Service Cloud
  Salesforce Marketing Cloud
  Müşteri için SAP Cloud (C4C)
  SAP ECC
  ServiceNow
SharePoint Online Listesi
  Shopify (Önizleme)
  Square (Önizleme)
  Web tablosu (HTML tablosu)
  Xero
  Zoho (Önizleme)

Not

Bir bağlayıcı Önizleme olarak işaretlendiyse bu bağlayıcıyı deneyip bunun hakkındaki görüşlerinizi bize bildirebilirsiniz. Çözümünüzde bir önizleme bağlayıcısı bağımlılığı olmasını istiyorsanız Azure desteğine başvurun.

Veri dönüştürme etkinlikleri

Azure Data Factory ve Azure Synapse Analytics, tek tek eklenebilecek veya başka bir etkinlikle zincirlenebilen aşağıdaki dönüştürme etkinliklerini destekler.

Daha fazla bilgi için veri dönüştürme etkinlikleri makalesine bakın.

Veri dönüştürme etkinliği İşlem ortamı
Veri Akışı Azure Data Factory tarafından yönetilen Apache Spark kümeleri
Azure İşlevi Azure İşlevleri
Hive HDInsight [Hadoop]
Pig HDInsight [Hadoop]
MapReduce HDInsight [Hadoop]
Hadoop Akışı HDInsight [Hadoop]
Spark HDInsight [Hadoop]
ML Studio (klasik) etkinlikleri: Toplu Yürütme ve Kaynağı Güncelleştirme Azure VM
Saklı Yordam Azure SQL, Azure Synapse Analytics veya SQL Server
U-SQL Azure Data Lake Analytics
Özel Etkinlik Azure Batch
Databricks Not Defteri Azure Databricks
Databricks Jar Etkinliği Azure Databricks
Databricks Python Etkinliği Azure Databricks
Synapse Notebook Etkinliği Azure Synapse Analytics

Denetim akışı etkinlikleri

Aşağıdaki denetim akışı etkinlikleri desteklenir:

Denetim etkinliği Açıklama
Değişken Ekle Var olan bir dizi değişkenine değer ekleyin.
İşlem Hattı Yürütme İşlem Hattı Yürütme etkinliği, Data Factory veya Synapse işlem hattının başka bir işlem hattını çağırmasına olanak tanır.
Filtre Giriş dizisine filtre ifadesi uygulama
Her İçin 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.
Meta Verileri Al GetMetadata etkinliği, Data Factory veya Synapse işlem hattındaki tüm verilerin meta verilerini almak için kullanılabilir.
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 olarak değerlendirildiğinde bir etkinlik kümesini ve koşul değerlendirildiğinde true başka bir etkinlik kümesini değerlendirir false.
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.
Değişken Ayarla Mevcut bir değişkenin değerini ayarlayın.
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. Until etkinliği için bir zaman aşımı değeri belirtebilirsiniz.
Doğrulama Etkinliği İşlem hattının yalnızca bir başvuru veri kümesi varsa, belirtilen ölçütleri karşılıyorsa veya zaman aşımına ulaşıldıysa yürütmeye devam ettiğinden emin olun.
Bekleme Etkinliği İşlem hattında Wait etkinliği kullandığınızda, işlem hattı sonraki etkinliklerin yürütülmesine devam etmeden önce belirtilen süreyi bekler.
Web Etkinliği Web Etkinliği, bir işlem hattından özel 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.
Web Kancası Etkinliği Web kancası etkinliğini kullanarak bir uç noktayı çağırın ve bir geri çağırma URL'si geçirin. İşlem hattı çalıştırması, sonraki etkinliğe geçmeden önce geri çağırmanın çağrılmasını bekler.

Kullanıcı arabirimiyle işlem hattı oluşturma

Yeni bir işlem hattı oluşturmak için Data Factory Studio'da Yazar sekmesine gidin (kalem simgesiyle gösterilir), artı işaretine tıklayın ve menüden İşlem Hattı'nı ve alt menüden yeniden İşlem Hattı'nı seçin.

Azure Data Factory Studio kullanarak yeni işlem hattı oluşturma adımlarını gösterir.

Veri fabrikası, aşağıdakilere ulaşabileceğiniz işlem hattı düzenleyicisini görüntüler:

  1. İşlem hattı içinde kullanılabilecek tüm etkinlikler.
  2. İşlem hattına eklendiğinde etkinliklerin görüneceği işlem hattı düzenleyicisi tuvali.
  3. Parametreler, değişkenler, genel ayarlar ve çıkış dahil olmak üzere işlem hattı yapılandırmaları bölmesi.
  4. İşlem hattı adı, isteğe bağlı açıklama ve ek açıklamaların yapılandırılabildiği işlem hattı özellikleri bölmesi. Bu bölmede, veri fabrikasındaki işlem hattıyla ilgili öğeler de gösterilir.

Yukarıda açıklanan bölümlerin her birinin vurgulandığı Azure Data Factory Studio'daki işlem hattı düzenleyicisi bölmesini gösterir.

İşlem Hattı JSON

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

{
    "name": "PipelineName",
    "properties":
    {
        "description": "pipeline description",
        "activities":
        [
        ],
        "parameters": {
        },
        "concurrency": <your max pipeline concurrency>,
        "annotations": [
        ]
    }
}
Etiket Açıklama Tür Zorunlu
Adı İşlem hattının adı. İşlem hattının gerçekleştirdiği eylemi temsil eden bir ad belirtin.
  • En fazla karakter sayısı: 140
  • Bir harf, sayı veya alt çizgi (_) ile başlamalıdır
  • Şu karakterlere izin verilmez: ".", "+", "?", "/", "<",">","*"," %"," &",":"," "
String Yes
açıklama İşlem hattının ne için kullanıldığını açıklayan metni belirtin. String Hayır
etkinlikler Etkinlikler bölümünde tanımlanmış bir veya daha fazla etkinlik olabilir. Etkinliklerin JSON öğesi hakkında ayrıntılı bilgi için Etkinlik JSON bölümüne bakın. Dizi Yes
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. Liste Hayır
eşzamanlılık İşlem hattının sahip olabileceği en fazla eşzamanlı çalıştırma sayısı. Varsayılan olarak maksimum değer yoktur. Eşzamanlılık sınırına ulaşılırsa, daha önceki işlem hattı çalıştırmaları tamamlanana kadar ek işlem hattı çalıştırmaları kuyruğa alınır Sayı Hayır
Ek açıklama -ları İşlem hattıyla ilişkilendirilmiş etiketlerin listesi Dizi Hayır

Etkinlik JSON

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 etkinlikleri

Yürütme 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, etkinlik JSON tanımındaki özellikler açıklamaktadır:

Etiket Açıklama Gerekli
Adı Etkinliğin adı. Etkinliğin gerçekleştirdiği eylemi temsil eden bir ad belirtin.
  • En fazla karakter sayısı: 55
  • Harf-sayı veya alt çizgi (_) ile başlamalıdır
  • Şu karakterlere izin verilmez: ".", "+", "?", "/", "<",">","*"," %"," &",":"," "
Yes
açıklama Etkinliğin ne olduğunu veya ne için kullanıldığını açıklayan metin Yes
Tür Etkinliğin türü. Farklı etkinlik türleri için Veri Taşıma Etkinlikleri, Veri Dönüştürme Etkinlikleri ve Denetim Etkinlikleri bölümlerine bakın. Yes
linkedServiceName Etkinlik tarafından kullanılan bağlı hizmetin adı.

Bir etkinlik, gerekli işlem ortamına bağlanan bağlı hizmeti belirtmenizi gerektirebilir.
HDInsight Etkinliği, ML Studio (klasik) Toplu Puanlama Etkinliği, Saklı Yordam Etkinliği için Evet.

Diğer tümü için hayır
typeProperties typeProperties bölümündeki özellikler her bir etkinlik türüne bağlıdır. Bir etkinliğin tür özelliklerini görmek için önceki bölümde verilen etkinlik bağlantılarına tıklayın. Hayır
ilke Etkinliğin çalışma zamanı davranışını etkileyen ilkeler. Bu özellik bir zaman aşımı ve yeniden deneme davranışı içerir. Belirtilmezse, varsayılan değerler kullanılır. Daha fazla bilgi için Etkinlik İlkesi bölümüne bakın. Hayır
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. Daha fazla bilgi için bkz. Etkinlik bağımlılığı Hayır

Etkinlik ilkesi

İlkeler, bir etkinliğin çalışma zamanı davranışını etkileyerek yapılandırma seçenekleri sağlar. Etkinlik İlkeleri yalnızca yürütme etkinlikleri için kullanılabilir.

Etkinlik ilkesi JSON tanımı

{
    "name": "MyPipelineName",
    "properties": {
      "activities": [
        {
          "name": "MyCopyBlobtoSqlActivity",
          "type": "Copy",
          "typeProperties": {
            ...
          },
         "policy": {
            "timeout": "00:10:00",
            "retry": 1,
            "retryIntervalInSeconds": 60,
            "secureOutput": true
         }
        }
      ],
        "parameters": {
           ...
        }
    }
}
JSON adı Açıklama İzin Verilen Değerler Zorunlu
timeout Çalıştırılacak etkinliğinin zaman aşımını belirtir. Timespan Hayır Varsayılan zaman aşımı 12 saattir ve en az 10 dakikadır.
retry En fazla yeniden deneme sayısı Tamsayı Hayır Varsayılan değer 0'dır
retryIntervalInSeconds Yeniden deneme girişimleri arasında saniye cinsinden gecikme Tamsayı Hayır Varsayılan değer 30 saniyedir
secureOutput True olarak ayarlandığında etkinlik çıkışı güvenli olarak kabul edilir ve izleme için günlüğe kaydedilmez. Boolean Hayır Varsayılan değer yanlış'tır.

Denetim etkinliği

Denetim etkinlikleri aşağıdaki üst düzey yapıya sahiptir:

{
    "name": "Control Activity Name",
    "description": "description",
    "type": "<ActivityType>",
    "typeProperties":
    {
    },
    "dependsOn":
    {
    }
}
Etiket Açıklama Gerekli
Adı Etkinliğin adı. Etkinliğin gerçekleştirdiği eylemi temsil eden bir ad belirtin.
  • En fazla karakter sayısı: 55
  • Bir harf, sayı veya alt çizgi (_) ile başlamalıdır
  • Şu karakterlere izin verilmez: ".", "+", "?", "/", "<",">","*"," %"," &",":"," "
Yes
    açıklama Etkinliğin ne olduğunu veya ne için kullanıldığını açıklayan metin Yes
    Tür Etkinliğin türü. Farklı etkinlik türleri için veri taşıma etkinlikleri, veri dönüştürme etkinlikleri ve denetim etkinlikleri bölümlerine bakın. Yes
    typeProperties typeProperties bölümündeki özellikler her bir etkinlik türüne bağlıdır. Bir etkinliğin tür özelliklerini görmek için önceki bölümde verilen etkinlik bağlantılarına tıklayın. Hayır
    dependsOn Bu özellik Etkinlik Bağımlılığını ve sonraki etkinliklerin önceki etkinliklere ne kadar bağımlı olduğunu tanımlamak için kullanılır. Daha fazla bilgi için bkz. etkinlik bağımlılığı. Hayır

    Etkinlik bağımlılığı

    Etkinlik Bağımlılığı, sonraki etkinliklerin önceki etkinliklere nasıl bağımlı olduğunu tanımlar ve sonraki görevi yürütmeye devam edilip edilmeyeceğini belirler. Bir etkinlik farklı bağımlılık koşullarıyla daha önceki bir veya birden çok etkinliğe bağımlı olabilir.

    Farklı bağımlılık koşulları şunlardır: Başarılı, Başarısız, Atlandı, Tamamlandı.

    Örneğin, bir işlem hattında Etkinlik A -> Etkinlik B varsa, gerçekleşebilecek farklı senaryolar şunlardır:

    • Etkinlik B, Etkinlik A’ya başarılı koşuluyla bağımlıdır: Etkinlik B yalnızca Etkinlik A’nın son durumu başarılı ise çalışır
    • Etkinlik B, Etkinlik A’ya başarısız koşuluyla bağımlıdır: Etkinlik B yalnızca Etkinlik A’nın son durumu başarısız ise çalışır
    • Etkinlik B, Etkinlik A’ya tamamlandı koşuluyla bağımlıdır: Etkinlik B yalnızca Etkinlik A’nın son durumu başarılı veya başarısız ise çalışır
    • Etkinlik B'nin Etkinlik A'da atlanmış olan bir bağımlılık koşulu vardır: Etkinlik A'nın son durumu atlandıysa Etkinlik B çalışır. Atlanan, her etkinliğin yalnızca önceki etkinliğin başarılı olduğu durumlarda çalıştırıldığı Etkinlik X -> Etkinlik Y -> Etkinlik Z senaryosunda gerçekleşir. Etkinlik X başarısız olursa, Etkinlik Y hiçbir zaman yürütülemediği için "Atlandı" durumuna sahiptir. Benzer şekilde, Z Etkinliği de "Atlandı" durumuna sahiptir.

    Örnek: Etkinlik 2, Etkinlik 1’in başarılı olmasına bağlıdır

    {
        "name": "PipelineName",
        "properties":
        {
            "description": "pipeline description",
            "activities": [
             {
                "name": "MyFirstActivity",
                "type": "Copy",
                "typeProperties": {
                },
                "linkedServiceName": {
                }
            },
            {
                "name": "MySecondActivity",
                "type": "Copy",
                "typeProperties": {
                },
                "linkedServiceName": {
                },
                "dependsOn": [
                {
                    "activity": "MyFirstActivity",
                    "dependencyConditions": [
                        "Succeeded"
                    ]
                }
              ]
            }
          ],
          "parameters": {
           }
        }
    }
    
    

    Örnek kopyalama işlem hattı

    Aşağıdaki örnek işlem hattında, Etkinlikler bölümünde Kopyalama türünde olan bir etkinlik vardır. Bu örnekte kopyalama etkinliği verileri Azure Blob depolama alanından Azure SQL Veritabanı'daki bir veritabanına kopyalar.

    {
      "name": "CopyPipeline",
      "properties": {
        "description": "Copy data from a blob to Azure SQL table",
        "activities": [
          {
            "name": "CopyFromBlobToSQL",
            "type": "Copy",
            "inputs": [
              {
                "name": "InputDataset"
              }
            ],
            "outputs": [
              {
                "name": "OutputDataset"
              }
            ],
            "typeProperties": {
              "source": {
                "type": "BlobSource"
              },
              "sink": {
                "type": "SqlSink",
                "writeBatchSize": 10000,
                "writeBatchTimeout": "60:00:00"
              }
            },
            "policy": {
              "retry": 2,
              "timeout": "01:00:00"
            }
          }
        ]
      }
    }
    

    Aaşağıdaki noktaları unutmayın:

    • Etkinlikler bölümünde, türüCopy olarak ayarlanmış yalnızca bir etkinlik vardır.
    • Etkinlik girdisi InputDataset olarak, etkinlik çıktısı ise OutputDataset olarak ayarlanmıştır. JSON biçiminde veri kümeleri tanımlamak için Veri Kümeleri makalesine bakın.
    • typeProperties bölümünde BlobSource kaynak türü, SqlSink de havuz türü olarak belirtilir. Veri taşıma etkinlikleri bölümünde, verileri veri deposuna/veri deposundan taşıma hakkında daha fazla bilgi almak için kaynak veya havuz olarak kullanmak istediğiniz veri deposuna tıklayın.

    Bu işlem hattını oluşturma hakkında ayrıntılı bilgi için bkz . Hızlı Başlangıç: Data Factory oluşturma.

    Örnek dönüştürme işlem hattı

    Aşağıdaki örnek işlem hattında, etkinlikler bölümünde HDInsightHive türünde olan bir etkinlik vardır. Bu örnekte HDInsight Hive etkinliği, bir Azure HDInsight Hadoop kümesinde Hive betik dosyası çalıştırarak verileri bir Azure Blob depolamadan dönüştürür.

    {
        "name": "TransformPipeline",
        "properties": {
            "description": "My first Azure Data Factory pipeline",
            "activities": [
                {
                    "type": "HDInsightHive",
                    "typeProperties": {
                        "scriptPath": "adfgetstarted/script/partitionweblogs.hql",
                        "scriptLinkedService": "AzureStorageLinkedService",
                        "defines": {
                            "inputtable": "wasb://adfgetstarted@<storageaccountname>.blob.core.windows.net/inputdata",
                            "partitionedtable": "wasb://adfgetstarted@<storageaccountname>.blob.core.windows.net/partitioneddata"
                        }
                    },
                    "inputs": [
                        {
                            "name": "AzureBlobInput"
                        }
                    ],
                    "outputs": [
                        {
                            "name": "AzureBlobOutput"
                        }
                    ],
                    "policy": {
                        "retry": 3
                    },
                    "name": "RunSampleHiveActivity",
                    "linkedServiceName": "HDInsightOnDemandLinkedService"
                }
            ]
        }
    }
    

    Aaşağıdaki noktaları unutmayın:

    • Etkinlikler bölümünde türüHDInsightHive olarak ayarlanmış yalnızca bir etkinlik vardır.
    • partitionweblogs.hql Hive betik dosyası Azure Depolama hesabında (AzureStorageLinkedService adlı scriptLinkedService tarafından belirtilir) ve kapsayıcıdaki adfgetstartedbetik klasöründe depolanır.
    • defines bölümü, hive betiğine Hive yapılandırma değerleri olarak (örn {hiveconf:inputtable}, ${hiveconf:partitionedtable}) geçirilen çalışma zamanı ayarlarını belirtmek için kullanılır.

    TypeProperties bölümü her bir dönüştürme etkinliği için farklıdır. Bir dönüştürme etkinliği için desteklenen tür özellikleri hakkında bilgi edinmek için Veri dönüştürme etkinlikleri içindeki dönüştürme etkinliklerine tıklayın.

    Bu işlem hattını oluşturmak üzere izlenecek tam yol için bkz. Öğretici: Spark kullanarak veri dönüştürme.

    Bir işlem hattında birden çok etkinlik

    Önceki iki örnekte işlem hatları yalnızca bir etkinlik içeriyordu. Bir işlem hattında birden fazla etkinliğiniz olabilir. İşlem hattında birden çok etkinliğiniz varsa ve sonraki etkinlikler önceki etkinliklere bağımlı değilse, etkinlikler paralel olarak çalıştırılabilir.

    Sonraki etkinliklerin önceki etkinliklere nasıl bağımlı olduğunu tanımlayan ve sonraki görevi yürütmeye devam edilip edilmeyeceğine yönelik koşulu belirleyen etkinlik bağımlılığını kullanarak iki etkinliği zincirleyebilirsiniz. Bir etkinlik farklı bağımlılık koşullarıyla daha önceki bir veya daha çok etkinliğe bağımlı olabilir.

    İşlem hatlarını zamanlama

    İşlem hatları tetikleyiciler tarafından zamanlanır. Farklı tetikleyici türleri vardır (zamanlayıcı tetikleyicisi, işlem hatlarının duvar saati zamanlaması ile tetiklenebilen zamanlayıcı tetikleyicisi ve işlem hatlarını isteğe bağlı olarak tetikleyen el ile tetikleme). Tetikleyiciler hakkında daha fazla bilgi için işlem hattı yürütme ve tetikleyicileri makalesine bakın.

    Tetikleyicinizin bir işlem hattı çalıştırmasını başlatması için tetikleyici tanımındaki belirli işlem hattının işlem hattı başvurusunu eklemeniz gerekir. İşlem hatları ve tetikleyiciler n-m ilişkisine sahiptir. Birden çok tetikleyici tek bir işlem hattını, bir tetikleyici de birden fazla işlem hattını başlatabilir. Tetikleyici tanımlandıktan sonra işlem hattını tetiklemesini başlatmak için tetikleyiciyi başlatmanız gerekir. Tetikleyiciler hakkında daha fazla bilgi için işlem hattı yürütme ve tetikleyicileri makalesine bakın.

    Örneğin, "MyCopyPipeline" işlem hattımı başlatmak istediğim "Tetikleyici A" adlı bir Zamanlayıcı tetikleyiciniz olduğunu varsayalım. Tetikleyiciyi aşağıdaki örnekte gösterildiği gibi tanımlarsınız:

    Tetikleyici A tanımı

    {
      "name": "TriggerA",
      "properties": {
        "type": "ScheduleTrigger",
        "typeProperties": {
          ...
          }
        },
        "pipeline": {
          "pipelineReference": {
            "type": "PipelineReference",
            "referenceName": "MyCopyPipeline"
          },
          "parameters": {
            "copySourceName": "FileSource"
          }
        }
      }
    }