Azure Data Factory İşlem Hatları ve Etkinlikler

Not

Bu makale, Data Factory’nin 1. sürümü için geçerlidir. Data Factory hizmetinin geçerli sürümünü kullanıyorsanız bkz. V2'de işlem hatları.

Bu makale, Azure Data Factory’de işlem hatlarını ve etkinlikleri anlamanıza ve veri hareketi ile veri işleme senaryolarınız için uçtan uca veri odaklı iş akışları oluşturmak amacıyla bunları nasıl kullanacağınızı anlamanıza yardımcı olur.

Not

Bu makalede, Azure Data Factory giriş makalesini incelediğiniz varsayılır. Veri fabrikaları oluşturma konusunda uygulamalı deneyiminiz yoksa, veri dönüştürme öğreticisi ve/veya veri taşıma öğreticisi bu makaleyi daha iyi anlamanıza yardımcı olur.

Not

Azure ile etkileşime geçmek için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz. Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.

Genel Bakış

Bir veri fabrikasında bir veya daha fazla işlem hattı olabilir. İşlem hattı, bir görevi gerçekleştiren etkinliklerden oluşan mantıksal gruptur. İşlem hattındaki etkinlikler, verilerinizde gerçekleştirilecek eylemleri tanımlar. Örneğin, SQL Server veritabanındaki verileri bir Azure Blob Depolama kopyalamak için kopyalama etkinliği kullanabilirsiniz. Ardından bir Azure HDInsight kümesinde Hive betiği çalıştıran bir Hive etkinliği kullanıp blob depolamadaki verileri işleyerek/dönüştürerek çıktı verileri üretebilirsiniz. Son olarak, çıktı verilerini iş zekası (BI) raporlama çözümlerinin oluşturulduğu bir Azure Synapse Analytics'e kopyalamak için ikinci bir kopyalama etkinliği kullanın.

Etkinlik sıfır veya daha fazla giriş veri kümesi alabilir ve bir veya daha fazla çıkış veri kümesi oluşturabilir. Aşağıdaki diyagramda, Data Factory içindeki işlem hattı, etkinlik ve veri kümesi arasındaki ilişki gösterilmektedir:

İşlem hattı, etkinlik ve veri kümesi arasındaki ilişki

İşlem hattı, etkinlikleri tek tek yönetmek yerine bir küme olarak yönetmenize olanak tanır. Örneğin, işlem hattındaki etkinliklerle bağımsız olarak ilgilenmek yerine işlem hattını dağıtabilir, zamanlayabilir, askıya alabilir ve sürdürebilirsiniz.

Data Factory iki tür etkinliği destekler: veri taşıma etkinlikleri ve veri dönüştürme etkinlikleri. Her etkinliğin sıfır veya daha fazla giriş veri kümesi olabilir ve bir veya daha fazla çıkış veri kümesi oluşturabilir.

Giriş veri kümesi, veri işlem hattındaki bir etkinlik için girişi ve çıktı veri kümesi, etkinliğin çıktısı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.

Veri taşıma etkinlikleri

Data Factory’deki Kopyalama Etkinliği bir kaynak veri deposundan havuz veri deposuna verileri kopyalar. Data Factory aşağıdaki veri depolarını destekler. Herhangi bir kaynaktan gelen veriler herhangi bir havuza yazılabilir. 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 Azure Blob Depolama
  NoSQL için Azure Cosmos DB
  Azure Data Lake Storage Gen1
  Azure SQL Veritabanı
  Azure Synapse Analytics
  Azure Bilişsel Arama Dizini
  Azure Tablo Depolama
Veritabanları Amazon Redshift
  DB2*
  Mysql*
  Oracle*
  Postgresql*
  SAP Business Warehouse*
  SAP HANA*
  SQL Server*
  Sybase*
  Teradata*
NoSQL Cassandra*
  MongoDB*
Dosya Amazon S3
  Dosya Sistemi*
  FTP
  HDFS*
  SFTP
Diğerleri Genel HTTP
  Genel OData
  Genel ODBC*
  Salesforce
  Web Tablosu (HTML tablosu)

Not

* taşıyan veri depoları şirket içi veya Azure IaaS üzerinde olabilir ve bir şirket içi/Azure IaaS makinesine Veri Yönetimi Ağ Geçidi yüklemenizi gerektirir.

Daha fazla bilgi için Veri Taşıma Etkinlikleri makalesine bakın.

Veri dönüştürme etkinlikleri

Azure Data Factory, işlem hatlarına tek tek veya başka bir etkinlikle zincirleme halinde eklenebilecek aşağıdaki dönüştürme etkinliklerini destekler.

Veri dönüştürme etkinliği İşlem ortamı
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
Data Lake Analytics U-SQL Azure Data Lake Analytics
Dotnet HDInsight [Hadoop] veya Azure Batch

Not

MapReduce etkinliğini kullanarak HDInsight Spark kümenizde Spark programları çalıştırabilirsiniz. Ayrıntılar için bkz. Azure Data Factory’den Spark programlarını çağırma. R yüklü HDInsight kümenizde R betiklerini çalıştırmak için özel bir etkinlik oluşturabilirsiniz. Bkz. Azure Data Factory kullanarak R Betiği çalıştırma.

Daha fazla bilgi için Veri Dönüştürme Etkinlikleri makalesine bakın.

Özel .NET etkinlikleri

Kopyalama Etkinliği'nin desteklemediği bir veri deposuna/deposundan veri taşımanız veya kendi mantığınızı kullanarak verileri dönüştürmeniz gerekiyorsa , özel bir .NET etkinliği oluşturun. Özel bir etkinlik oluşturma ve kullanma hakkında ayrıntılı bilgi için bkz. Azure Data Factory işlem hattında özel etkinlikler kullanma.

İşlem hatlarını zamanlama

İşlem hattı yalnızca başlangıç saati ile bitiş saati arasında etkindir. Başlangıç saatinden önce veya bitiş saatinden sonra yürütülmedi. İşlem hattı duraklatılırsa, başlangıç ve bitiş saati ne olursa olsun yürütülmüyor. İşlem hattının çalışması için duraklatılmamalıdır. Azure Data Factory'da zamanlama ve yürütmenin nasıl çalıştığını anlamak için bkz. Zamanlama ve Yürütme.

İşlem Hattı JSON

Bir işlem hattının JSON biçiminde nasıl tanımlandığına daha yakından bakalım. Bir işlem hattının genel yapısı şu şekilde görünür:

{
    "name": "PipelineName",
    "properties":
    {
        "description" : "pipeline description",
        "activities":
        [

        ],
        "start": "<start date-time>",
        "end": "<end date-time>",
        "isPaused": true/false,
        "pipelineMode": "scheduled/onetime",
        "expirationTime": "15.00:00:00",
        "datasets":
        [
        ]
    }
}
Etiket Açıklama Gerekli
name İşlem hattının adı. İşlem hattının gerçekleştirdiği eylemi temsil eden bir ad belirtin.
  • En fazla karakter sayısı: 260
  • Bir harf, sayı veya alt çizgi (_) ile başlamalıdır
  • Şu karakterlere izin verilmiyor: ".", "+", "?", "/", "<",">","*","%","&,":","\"
Yes
açıklama İşlem hattının ne için kullanıldığını açıklayan metni belirtin. Yes
etkinlikler Etkinlikler bölümünde tanımlanmış bir veya daha fazla etkinlik olabilir. Etkinlikler JSON öğesi hakkında ayrıntılı bilgi için sonraki bölüme bakın. Yes
start İşlem hattı için başlangıç tarihi-saati. ISO biçiminde olmalıdır. Örneğin: 2016-10-14T16:32:41Z.

Yerel bir saat belirtmek mümkündür, örneğin EST saati. Burada bir örnek verilmiştir: 2016-02-27T06:00:00-05:00", yani 06:00 EST.

Başlangıç ve bitiş özellikleri birlikte işlem hattı için etkin dönemi belirtir. Çıkış dilimleri yalnızca bu etkin dönemde ile oluşturulur.
No

End özelliği için bir değer belirtirseniz, start özelliği için değer belirtmeniz gerekir.

İşlem hattı oluşturmak için hem başlangıç hem de bitiş saatleri boş olabilir. İşlem hattının çalışması için etkin bir dönem ayarlamak için her iki değeri de belirtmeniz gerekir. İşlem hattı oluştururken başlangıç ve bitiş saatlerini belirtmezseniz, bunları daha sonra Set-AzDataFactoryPipelineActivePeriod cmdlet'ini kullanarak ayarlayabilirsiniz.
end İşlem hattı için bitiş tarihi-saati. Belirtildiyse ISO biçiminde olmalıdır. Örnek: 2016-10-14T17:32:41Z

Yerel bir saat belirtmek mümkündür, örneğin EST saati. Aşağıda bir örnek verilmiştir: 2016-02-27T06:00:00-05:0006:00 EST olan .

İşlem hattını süresiz olarak çalıştırmak için end özelliği değerini 9999-09-09 olarak ayarlayın.

İşlem hattı yalnızca başlangıç saati ile bitiş saati arasında etkindir. Başlangıç saatinden önce veya bitiş saatinden sonra yürütülmedi. İşlem hattı duraklatılırsa, başlangıç ve bitiş saati ne olursa olsun yürütülmüyor. İşlem hattının çalışması için duraklatılmaması gerekir. zamanlama ve yürütmenin Azure Data Factory nasıl çalıştığını anlamak için bkz. Zamanlama ve Yürütme.
No

start özelliği için bir değer belirtirseniz, end özelliği için değer belirtmeniz gerekir.

Başlangıç özelliği için notlara bakın.
isPaused true olarak ayarlanırsa işlem hattı çalışmaz. Duraklatılmış durumda. Varsayılan değer = false. İşlem hattını etkinleştirmek veya devre dışı bırakmak için bu özelliği kullanabilirsiniz. No
pipelineMode Zamanlama yöntemi işlem hattı için çalışır. İzin verilen değerler şunlardır: zamanlanmış (varsayılan), tek seferlik.

'Zamanlandı', işlem hattının etkin dönemine (başlangıç ve bitiş saati) göre belirtilen zaman aralığında çalıştığını gösterir. 'Onetime', işlem hattının yalnızca bir kez çalıştırıldığını gösterir. Oluşturulduktan sonra tek seferlik işlem hatları şu anda değiştirilemez/güncelleştirilemez. Onetime ayarı hakkında ayrıntılı bilgi için bkz. Onetime işlem hattı .
No
expirationTime Tek seferlik işlem hattının geçerli olduğu ve sağlanmış olarak kalması gereken oluşturma işleminden sonraki süre. Etkin, başarısız veya bekleyen çalıştırmaları yoksa, işlem hattı son kullanma süresine ulaştığında otomatik olarak silinir. Varsayılan değer: "expirationTime": "3.00:00:00" No
veri kümeleri İşlem hattında tanımlanan etkinlikler tarafından kullanılacak veri kümelerinin listesi. Bu özellik, bu işlem hattına özgü olan ve veri fabrikası içinde tanımlanmayan veri kümelerini tanımlamak için kullanılabilir. Bu işlem hattı içinde tanımlanan veri kümeleri yalnızca bu işlem hattı tarafından kullanılabilir ve paylaşılamaz. Ayrıntılar için bkz. Kapsamlı veri kümeleri . No

Etkinlik JSON

Etkinlikler bölümünde tanımlanmış bir veya daha fazla etkinlik olabilir. Her etkinlik aşağıdaki üst düzey yapıya sahiptir:

{
    "name": "ActivityName",
    "description": "description",
    "type": "<ActivityType>",
    "inputs": "[]",
    "outputs": "[]",
    "linkedServiceName": "MyLinkedService",
    "typeProperties":
    {

    },
    "policy":
    {
    },
    "scheduler":
    {
    }
}

Aşağıdaki tabloda, etkinlik JSON tanımındaki özellikler açıklamaktadır:

Etiket Açıklama Gerekli
name Etkinliğin adı. Etkinliğin gerçekleştirdiği eylemi temsil eden bir ad belirtin.
  • En fazla karakter sayısı: 260
  • Bir harf, sayı veya alt çizgi (_) ile başlamalıdır
  • Şu karakterlere izin verilmiyor: ".", "+", "?", "/", "<",">,"*","%","&,":","\"
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 ve Veri Dönüştürme Etkinlikleri bölümlerine bakın. Yes
Giriş Etkinlik tarafından kullanılan giriş tabloları

// one input table
"inputs": [ { "name": "inputtable1" } ],

// two input tables
"inputs": [ { "name": "inputtable1" }, { "name": "inputtable2" } ],
Yes
Çıkış Etkinlik tarafından kullanılan çıkış tabloları.

// one output table
"outputs": [ { "name": "outputtable1" } ],

//two output tables
"outputs": [ { "name": "outputtable1" }, { "name": "outputtable2" } ],
Yes
linkedServiceName Etkinlik tarafından kullanılan bağlı hizmetin adı.

Bir etkinlik için gerekli işlem ortamına bağlanan bağlı hizmeti belirtmeniz gerekebilir.
HDInsight Etkinliği ve ML Studio (klasik) Toplu Puanlama Etkinliği için Evet

Diğer tümü için hayır
typeProperties typeProperties bölümündeki özellikler etkinliğin 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. No
ilke Etkinliğin çalışma zamanı davranışını etkileyen ilkeler. Belirtilmezse, varsayılan ilkeler kullanılır. No
scheduler Etkinlik için istenen zamanlamayı tanımlamak için "scheduler" özelliği kullanılır. Alt özellikleri, bir veri kümesindeki kullanılabilirlik özelliğindeki özelliklerle aynıdır. No

İlkeler

İlkeler, özellikle bir tablonun dilimi işlendiğinde etkinliğin çalışma zamanı davranışını etkiler. Aşağıdaki tabloda ayrıntılar sağlanır.

Özellik İzin verilen değerler Varsayılan değer Açıklama
eşzamanlılık Tamsayı

En yüksek değer: 10
1 Etkinliğin eş zamanlı yürütme sayısı.

Farklı dilimlerde gerçekleşebilecek paralel etkinlik yürütmelerinin sayısını belirler. Örneğin, bir etkinliğin büyük bir kullanılabilir veri kümesinden geçmesi gerekiyorsa, daha büyük bir eşzamanlılık değerine sahip olmak veri işlemeyi hızlandırır.
executionPriorityOrder NewestFirst

En EskiFirst
En EskiFirst İşlenmekte olan veri dilimlerinin sırasını belirler.

Örneğin, 2 diliminiz varsa (biri 16:00'da, diğeri 17:00'de oluyor) ve her ikisi de yürütmeyi bekliyorsa. executionPriorityOrder değerini NewestFirst olarak ayarlarsanız, önce 17:00'deki dilim işlenir. Benzer şekilde executionPriorityORder değerini OldestFIrst olarak ayarlarsanız 16:00'daki dilim işlenir.
retry Tamsayı

En yüksek değer 10 olabilir
0 Dilim için veri işlemeden önce yeniden deneme sayısı Hata olarak işaretlenir. Bir veri dilimi için etkinlik yürütme, belirtilen yeniden deneme sayısı kadar yeniden denendi. Yeniden deneme, hatadan sonra mümkün olan en kısa sürede gerçekleştirilir.
timeout TimeSpan 00:00:00 Etkinlik için zaman aşımı. Örnek: 00:10:00 (10 dakika zaman aşımı anlamına gelir)

Bir değer belirtilmezse veya 0 ise, zaman aşımı sonsuzdur.

Dilimdeki veri işleme süresi zaman aşımı değerini aşarsa iptal edilir ve sistem işlemeyi yeniden denemeyi dener. Yeniden deneme sayısı, yeniden deneme özelliğine bağlıdır. Zaman aşımı oluştuğunda, durum TimedOut olarak ayarlanır.
Gecikme TimeSpan 00:00:00 Dilimin veri işlemesi başlamadan önce gecikmeyi belirtin.

Gecikme beklenen yürütme süresini geçtikten sonra bir veri dilimi için etkinliğin yürütülmesi başlatılır.

Örnek: 00:10:00 (10 dakikalık gecikme anlamına gelir)
longRetry Tamsayı

En yüksek değer: 10
1 Dilim yürütmesi başarısız olmadan önce yapılan uzun yeniden deneme denemelerinin sayısı.

longRetry denemeleri longRetryInterval tarafından aralıklı olarak kullanılır. Bu nedenle, yeniden deneme girişimleri arasında bir süre belirtmeniz gerekiyorsa longRetry kullanın. Hem Retry hem de longRetry belirtilirse, her longRetry denemesi Yeniden Deneme denemelerini içerir ve en fazla deneme sayısı Retry * longRetry'dir.

Örneğin, etkinlik ilkesinde aşağıdaki ayarlarımız varsa:
Yeniden deneme: 3
longRetry: 2
longRetryInterval: 01:00:00

Yürütülecek tek bir dilim olduğunu varsayalım (durum Bekliyor) ve etkinlik yürütmesi her seferinde başarısız olur. Başlangıçta 3 ardışık yürütme girişimi olur. Her denemeden sonra dilim durumu Yeniden Deneme olur. İlk 3 deneme bittikten sonra dilim durumu LongRetry olur.

Bir saat sonra (longRetryInteval değeri), ardışık 3 yürütme denemesi kümesi daha olacaktır. Bundan sonra dilim durumu Başarısız olur ve başka yeniden deneme yapılmaz. Bu nedenle genel olarak 6 girişimde bulunuldu.

Herhangi bir yürütme başarılı olursa, dilim durumu Hazır olur ve başka yeniden deneme yapılmaz.

longRetry, bağımlı verilerin belirlenimci olmayan zamanlarda geldiği veya veri işlemenin gerçekleştiği genel ortamın kararsız olduğu durumlarda kullanılabilir. Bu gibi durumlarda, birbiri ardına yeniden denemeler yapmak yardımcı olmayabilir ve bunu bir zaman aralığından sonra yapmak istenen çıkışla sonuçlanabilir.

dikkatli Word: longRetry veya longRetryInterval için yüksek değerler ayarlamayın. Genellikle, daha yüksek değerler diğer sistemsel sorunları ifade eder.
longRetryInterval TimeSpan 00:00:00 Uzun yeniden deneme girişimleri arasındaki gecikme

Ö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 bir Azure Blob depolama alanından Azure SQL 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": {
          "concurrency": 1,
          "executionPriorityOrder": "NewestFirst",
          "retry": 0,
          "timeout": "01:00:00"
        }
      }
    ],
    "start": "2016-07-12T00:00:00Z",
    "end": "2016-07-13T00:00:00Z"
  }
}

Aşağıdaki noktalara dikkat edin:

  • 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, veri deposuna/depodan veri taşıma hakkında daha fazla bilgi edinmek için kaynak veya havuz olarak kullanmak istediğiniz veri deposuna tıklayın.

Bu işlem hattını oluşturma konusunda tam bir kılavuz için bkz. Öğretici: Blob Depolama'dan SQL Veritabanı veri kopyalama.

Ö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": {
                    "concurrency": 1,
                    "retry": 3
                },
                "scheduler": {
                    "frequency": "Month",
                    "interval": 1
                },
                "name": "RunSampleHiveActivity",
                "linkedServiceName": "HDInsightOnDemandLinkedService"
            }
        ],
        "start": "2016-04-01T00:00:00Z",
        "end": "2016-04-02T00:00:00Z",
        "isPaused": false
    }
}

Aşağıdaki noktalara dikkat edin:

  • 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 (scriptLinkedService tarafından belirtilen AzureStorageLinkedService adıyla) ve adfgetstarted kapsayıcısındaki betik klasöründe depolanır.
  • defines bölümü, hive betiğine Hive yapılandırma değerleri (örneğin ${hiveconf:inputtable}, ${hiveconf:partitionedtable}) olarak 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. Dönüştürme etkinliğinde desteklenen tür özellikleri hakkında bilgi edinmek için Veri dönüştürme etkinlikleri tablosundaki dönüştürme etkinliğine tıklayın.

Bu işlem hattını oluşturmanın tam kılavuzu için bkz . Öğretici: Hadoop kümesini kullanarak verileri işlemek için ilk işlem hattınızı oluşturma.

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 etkinliğin çıkışı başka bir etkinliğin girişi değilse, etkinlikler için giriş veri dilimleri hazır olduğunda etkinlikler paralel olarak çalıştırılabilir.

Bir etkinliğin çıkış veri kümesini diğer etkinliğin giriş veri kümesi olarak tutarak iki etkinliği zincirleyebilirsiniz. İkinci etkinlik yalnızca ilk etkinlik başarıyla tamamlandığında yürütülür.

Aynı işlem hattındaki zincirleme etkinlikleri

Bu örnekte işlem hattının iki etkinliği vardır: Activity1 ve Activity2. Activity1, Veri Kümesi1'i giriş olarak alır ve bir Çıktı Veri Kümesi2 üretir. Etkinlik, Veri Kümesi2'yi giriş olarak alır ve veri kümesi3 çıkışını oluşturur. Activity1 (Dataset2) çıktısı Activity2 girişinin olması nedeniyle, Activity2 yalnızca Etkinlik başarıyla tamamlandıktan ve Dataset2 dilimini ürettikten sonra çalışır. Activity1 herhangi bir nedenle başarısız olursa ve Dataset2 dilimini üretmezse, Etkinlik 2 bu dilim için çalışmaz (örneğin: 09:00 - 10:00).

Ayrıca farklı işlem hatlarındaki etkinlikleri zincirleyebilirsiniz.

İki işlem hattındaki zincirleme etkinlikleri

Bu örnekte İşlem Hattı1'de Veri Kümesi1'i giriş olarak alan ve veri kümesi2'yi çıkış olarak üreten tek bir etkinlik vardır. Pipeline2'de veri kümesi2'yi giriş olarak ve Dataset3'i çıkış olarak alan tek bir etkinlik de vardır.

Daha fazla bilgi için bkz. zamanlama ve yürütme.

İşlem hatlarını oluşturma ve izleme

Bu araçlardan veya SDK'lardan birini kullanarak işlem hatları oluşturabilirsiniz.

  • Kopyalama Sihirbazı
  • Visual Studio
  • Azure PowerShell
  • Azure Resource Manager şablonu
  • REST API
  • .NET API’si

Bu araçlardan veya SDK'lardan birini kullanarak işlem hattı oluşturmaya yönelik adım adım yönergeler için aşağıdaki öğreticilere bakın.

İşlem hattı oluşturulduktan/dağıtıldıktan sonra, Azure portal dikey pencerelerini veya İzleme ve Uygulamayı Yönet'i kullanarak işlem hatlarınızı yönetebilir ve izleyebilirsiniz. Adım adım yönergeler için aşağıdaki konulara bakın.

Onetime işlem hattı

İşlem hattı tanımında belirttiğiniz başlangıç ve bitiş saatleri içinde düzenli aralıklarla (örneğin, saatlik veya günlük) çalışacak şekilde bir işlem hattı oluşturabilir ve zamanlayabilirsiniz. Ayrıntılar için bkz. Zamanlama etkinlikleri. Yalnızca bir kez çalışan bir işlem hattı da oluşturabilirsiniz. Bunu yapmak için işlem hattı tanımındaki pipelineMode özelliğini aşağıdaki JSON örneğinde gösterildiği gibi onetime olarak ayarlarsınız. Bu özelliğin varsayılan değeri zamanlandı.

{
    "name": "CopyPipeline",
    "properties": {
        "activities": [
            {
                "type": "Copy",
                "typeProperties": {
                    "source": {
                        "type": "BlobSource",
                        "recursive": false
                    },
                    "sink": {
                        "type": "BlobSink",
                        "writeBatchSize": 0,
                        "writeBatchTimeout": "00:00:00"
                    }
                },
                "inputs": [
                    {
                        "name": "InputDataset"
                    }
                ],
                "outputs": [
                    {
                        "name": "OutputDataset"
                    }
                ],
                "name": "CopyActivity-0"
            }
        ],
        "pipelineMode": "OneTime"
    }
}

Şunlara dikkat edin:

  • İşlem hattı için başlangıç ve bitiş saatleri belirtilmez.
  • Data Factory değerleri kullanmasa bile giriş ve çıkış veri kümelerinin kullanılabilirliği belirtilir (sıklık ve aralık).
  • Diyagram görünümü tek seferlik işlem hatlarını göstermez. Bu davranış tasarım gereğidir.
  • Tek seferlik işlem hatları güncelleştirilemez. Tek seferlik işlem hattını kopyalayabilir, yeniden adlandırabilir, özellikleri güncelleştirebilir ve başka bir işlem hattı oluşturmak için dağıtabilirsiniz.

Sonraki adımlar