Potoki i działania w Azure Data Factory

Uwaga

Ten artykuł dotyczy wersji 1 usługi Data Factory. Jeśli używasz bieżącej wersji usługi Data Factory, zobacz Potoki w wersji 2.

Ten artykuł ułatwia zapoznanie się z potokami i działaniami w usłudze Azure Data Factory oraz z konstruowaniem za ich pomocą pełnych przepływów pracy dla scenariuszy przenoszenia i przetwarzania danych.

Uwaga

W tym artykule przyjęto założenie, że zapoznaliśmy się z wprowadzeniem do Azure Data Factory. Jeśli nie masz praktycznego doświadczenia w tworzeniu fabryk danych, samouczek dotyczący przekształcania danych i/lub samouczek dotyczący przenoszenia danych pomoże Ci lepiej zrozumieć ten artykuł.

Uwaga

Zalecamy korzystanie z modułu Azure Az programu PowerShell do interakcji z platformą Azure. Zobacz Instalowanie Azure PowerShell, aby rozpocząć pracę. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.

Omówienie

Fabryka danych może obejmować jeden lub wiele potoków. Potok jest logicznym grupowaniem działań, które wspólnie wykonują zadanie. Działania w potoku określają akcje do wykonania na danych. Można na przykład użyć działania kopiowania, aby skopiować dane z bazy danych SQL Server do Azure Blob Storage. Następnie użyj działania usługi Hive, które uruchamia skrypt Hive w klastrze usługi Apache HDInsight w celu przetworzenia/przekształcenia danych z magazynu obiektów blob, aby utworzyć dane wyjściowe. Na koniec użyj drugiego działania kopiowania, aby skopiować dane wyjściowe do Azure Synapse Analytics na podstawie tego, które rozwiązania do raportowania analizy biznesowej (BI) są tworzone.

Działanie może przyjmować zero lub więcej wejściowych zestawów danych i tworzyć co najmniej jeden wyjściowy zestaw danych. Na poniższym diagramie przedstawiono relację między potokiem, działaniem i zestawem danych w usłudze Data Factory:

Relacja między potokiem, działaniem i zestawem danych

Potok umożliwia zarządzanie działaniami jako zestawem, a nie poszczególnymi. Na przykład można wdrażać, planować, zawieszać i wznawiać potok, zamiast radzić sobie z działaniami w potoku niezależnie.

Usługa Data Factory obsługuje dwa typy działań — w zakresie przekształcania oraz przenoszenia danych. Każde działanie może mieć zero lub więcej wejściowych zestawów danych i utworzyć co najmniej jeden wyjściowy zestaw danych.

Zestaw danych wejściowych reprezentuje dane wejściowe dla działania w potoku, a zestaw danych wyjściowych reprezentuje dane wyjściowe dla działania. Zestawy danych identyfikują dane w różnych magazynach danych, takich jak tabele, pliki, foldery i dokumenty. Po utworzeniu zestawu danych można go użyć z działaniami w potoku. Na przykład zestaw danych może być zestawem danych wejściowych/wyjściowych działania kopiowania lub działania HDInsightHive. Aby uzyskać więcej informacji na temat zestawów danych, zobacz artykuł Datasets in Azure Data Factory (Zestawy danych w usłudze Azure Data Factory).

Działania dotyczące przenoszenia danych

Działanie kopiowania w usłudze Data Factory kopiuje dane z magazynu danych źródła do magazynu danych ujścia. Usługa Data Factory obsługuje następujące magazyny danych. Dane z dowolnego źródła można zapisać do dowolnego ujścia. Kliknij magazyn danych, aby dowiedzieć się, jak kopiować dane do i z tego magazynu.

Kategoria Magazyn danych Obsługiwany jako źródło Obsługiwany jako ujście
Azure Azure Blob Storage
  Azure Cosmos DB for NoSQL
  Usługa Azure Data Lake Storage 1. generacji
  Azure SQL Database
  Azure Synapse Analytics
  indeks Azure Cognitive Search
  Azure Table storage
Bazy danych Amazon Redshift
  DB2*
  Mysql*
  Oracle*
  Postgresql*
  SAP Business Warehouse*
  SAP HANA*
  SQL Server*
  Sybase*
  Teradata*
NoSQL Cassandra*
  Mongodb*
Plik Amazon S3
  System plików*
  FTP
  HDFS*
  SFTP
Inne Ogólne HTTP
  Ogólne OData
  Ogólny ODBC*
  Salesforce
  Tabela sieci Web (tabela z kodu HTML)

Uwaga

Magazyny danych oznaczone znakiem * mogą być konfigurowane lokalnie lub w usłudze Azure IaaS i wymagają zainstalowania bramy zarządzania danymi na maszynie lokalnej lub w usłudze Azure IaaS.

Aby uzyskać więcej informacji, zobacz artykuł Działania dotyczące przenoszenia danych.

Działania dotyczące przekształcania danych

Usługa Azure Data Factory obsługuje następujące działania przekształcania, które można dodawać indywidualnie do potoków lub łączyć je z innymi działaniami.

Działanie przekształcania danych Środowisko obliczeniowe
Hive HDInsight [Hadoop]
Pig HDInsight [Hadoop]
MapReduce HDInsight [Hadoop]
Połączenia strumieniowe usługi Hadoop HDInsight [Hadoop]
Spark HDInsight [Hadoop]
Działania programu ML Studio (klasyczne): Wykonywanie wsadowe i aktualizowanie zasobu Maszyna wirtualna platformy Azure
Procedura składowana Azure SQL, Azure Synapse Analytics lub SQL Server
Data Lake Analytics U-SQL Azure Data Lake Analytics
Dotnet Usługa HDInsight [Hadoop] lub usługa Azure Batch

Uwaga

Możesz użyć działania MapReduce, aby uruchomić programy platformy Spark w klastrze usługi HDInsight Spark. Zobacz Wywoływanie programów platformy Spark z usługi Azure Data Factory. Możesz utworzyć niestandardowe działanie, aby uruchamiać skrypty w klastrze usługi HDInsight z zainstalowanym językiem R. Zobacz Uruchamianie skryptów języka R przy użyciu usługi Azure Data Factory.

Aby uzyskać więcej informacji, zobacz artykuł Działania dotyczące przekształcania danych.

Niestandardowe działania programu .NET

Jeśli musisz przenieść dane do/z magazynu danych, do którego działanie kopiowania nie obsługuje, lub przekształcić dane przy użyciu własnej logiki, utwórz niestandardowe działanie platformy .NET. Aby uzyskać szczegółowe informacje na temat tworzenia i używania niestandardowego działania, zobacz artykuł Use custom activities in an Azure Data Factory pipeline (Korzystanie z niestandardowych działań w potoku usługi Azure Data Factory).

Planowanie potoków

Potok jest aktywny tylko między godziną rozpoczęcia a czasem zakończenia . Nie jest on wykonywany przed godziną rozpoczęcia lub po godzinie zakończenia. Jeśli potok zostanie wstrzymany, nie zostanie wykonany niezależnie od czasu rozpoczęcia i zakończenia. Aby potok został uruchomiony, nie należy go wstrzymać. Zobacz Planowanie i wykonywanie, aby dowiedzieć się, jak działa planowanie i wykonywanie w Azure Data Factory.

Format JSON potoku

Przyjrzyjmy się bliżej definicji potoku w formacie JSON. Ogólna struktura potoku wygląda następująco:

{
    "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":
        [
        ]
    }
}
Tag Opis Wymagane
name Nazwa potoku. Określ nazwę, która reprezentuje akcję wykonywaną przez potok.
  • Maksymalna liczba znaków: 260
  • Musi rozpoczynać się literą, cyfrą lub podkreśleniem (_)
  • Następujące znaki są niedozwolone: ".", "+", "?", "/", "<>","","*","%&","",":","\"
Tak
description (opis) Wprowadź tekst opisujący przeznaczenie potoku. Tak
activities W sekcji activities można zdefiniować jedno lub więcej działań. Aby uzyskać szczegółowe informacje na temat elementu JSON działań, zobacz następną sekcję. Tak
start Data rozpoczęcia potoku. Musi być w formacie ISO. Na przykład: 2016-10-14T16:32:41Z.

Istnieje możliwość określenia czasu lokalnego, na przykład czasu EST. Oto przykład: 2016-02-27T06:00:00-05:00", czyli 6:00 EST.

Właściwości początkowe i końcowe razem określają aktywny okres dla potoku. Wycinki danych wyjściowych są tworzone tylko w tym aktywnym okresie.
Nie

Jeśli określisz wartość właściwości końcowej, musisz określić wartość właściwości start.

Czasy rozpoczęcia i zakończenia mogą być puste, aby utworzyć potok. Należy określić obie wartości, aby ustawić aktywny okres uruchomienia potoku. Jeśli nie określisz czasów rozpoczęcia i zakończenia podczas tworzenia potoku, możesz je ustawić przy użyciu polecenia cmdlet Set-AzDataFactoryPipelineActivePeriod później.
end Data zakończenia potoku. Jeśli określono, musi być w formacie ISO. Na przykład: 2016-10-14T17:32:41Z

Istnieje możliwość określenia czasu lokalnego, na przykład czasu EST. Oto przykład: 2016-02-27T06:00:00-05:00, czyli 6:00 EST.

Aby uruchomić potok bezterminowo, określ 9999-09-09 jako wartość właściwości end.

Potok jest aktywny tylko między godziną rozpoczęcia a czasem zakończenia. Nie jest on wykonywany przed godziną rozpoczęcia lub po godzinie zakończenia. Jeśli potok zostanie wstrzymany, nie zostanie wykonany niezależnie od czasu rozpoczęcia i zakończenia. Nie należy wstrzymywać potoku do uruchomienia. Zobacz Planowanie i wykonywanie, aby dowiedzieć się, jak działa planowanie i wykonywanie w Azure Data Factory.
Nie

Jeśli określisz wartość właściwości start, musisz określić wartość właściwości end.

Zobacz uwagi dotyczące właściwości start .
isPaused W przypadku ustawienia wartości true potok nie zostanie uruchomiony. Jest w stanie wstrzymania. Wartość domyślna : false. Tej właściwości można użyć do włączenia lub wyłączenia potoku. Nie
pipelineMode Metoda planowania przebiegów dla potoku. Dozwolone wartości to: zaplanowane (ustawienie domyślne), jednorazowe.

"Zaplanowane" wskazuje, że potok działa w określonym przedziale czasu zgodnie z aktywnym okresem (godzina rozpoczęcia i zakończenia). Element "Onetime" wskazuje, że potok jest uruchamiany tylko raz. Nie można obecnie modyfikować/aktualizować jednorazowych potoków po utworzeniu. Aby uzyskać szczegółowe informacje na temat jednorazowego ustawienia, zobacz Onetime pipeline (Jednorazowy potok ).
Nie
expirationTime Czas trwania po utworzeniu, dla którego potok jednorazowy jest prawidłowy i powinien pozostać aprowizacji. Jeśli nie ma żadnych aktywnych, nieudanych lub oczekujących przebiegów, potok zostanie automatycznie usunięty po upływie czasu wygaśnięcia. Wartość domyślna: "expirationTime": "3.00:00:00" Nie
zestawy danych Lista zestawów danych, które mają być używane przez działania zdefiniowane w potoku. Ta właściwość może służyć do definiowania zestawów danych specyficznych dla tego potoku i niezdefiniowane w fabryce danych. Zestawy danych zdefiniowane w tym potoku mogą być używane tylko przez ten potok i nie mogą być udostępniane. Aby uzyskać szczegółowe informacje, zobacz Zakresowe zestawy danych . Nie

Format JSON działania

W sekcji activities można zdefiniować jedno lub więcej działań. Każde działanie ma następującą strukturę najwyższego poziomu:

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

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

Poniższa tabela zawiera opis właściwości w definicji JSON działania:

Tag Opis Wymagane
name Nazwa działania. Określ nazwę, która reprezentuje akcję wykonywaną przez działanie.
  • Maksymalna liczba znaków: 260
  • Musi rozpoczynać się literą, cyfrą lub podkreśleniem (_)
  • Następujące znaki są niedozwolone: ".", "+", "?", "/", "<",">","*","%"&,",":","\"
Tak
description (opis) Tekst opisujący przeznaczenie działania Tak
typ Typ działania. Zobacz sekcje Działania przenoszenia danych i Działania przekształcania danych , aby zapoznać się z różnymi typami działań. Tak
Wejścia Tabele wejściowe używane przez działanie

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

// two input tables
"inputs": [ { "name": "inputtable1" }, { "name": "inputtable2" } ],
Tak
Wyjść Tabele wyjściowe używane przez działanie.

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

//two output tables
"outputs": [ { "name": "outputtable1" }, { "name": "outputtable2" } ],
Tak
linkedServiceName Nazwa połączonej usługi używana na potrzeby działania.

Działanie może wymagać określenia połączonej usługi, która stanowi łącze do wymaganego środowiska obliczeniowego.
Tak w przypadku działania usługi HDInsight i działania oceniania wsadowego w usłudze ML Studio (wersja klasyczna)

Nie dla wszystkich innych
typeProperties Właściwości w sekcji typeProperties zależą od typu działania. Aby wyświetlić właściwości typu dla działania, kliknij linki do działań w poprzedniej sekcji. Nie
policy Zasady, które mają wpływ na zachowanie działania w czasie wykonania. Jeśli nie zostanie określony, zostaną użyte zasady domyślne. Nie
scheduler Właściwość "scheduler" służy do definiowania żądanego planowania dla działania. Jego podwłaściwości są takie same jak właściwości w właściwości dostępności w zestawie danych. Nie

Zasady

Zasady wpływają na zachowanie działania w czasie wykonywania, w szczególności podczas przetwarzania wycinka tabeli. Poniższa tabela zawiera szczegółowe informacje.

Właściwość Dozwolone wartości Wartość domyślna Opis
współbieżność Liczba całkowita

Wartość maksymalna: 10
1 Liczba współbieżnych wykonań działania.

Określa liczbę równoległych wykonań działań, które mogą wystąpić na różnych wycinkach. Jeśli na przykład działanie musi przejść przez duży zestaw dostępnych danych, posiadanie większej wartości współbieżności przyspiesza przetwarzanie danych.
executionPriorityOrder NajnowszyFirst

NajstarszeFirst
NajstarszeFirst Określa kolejność wycinków danych, które są przetwarzane.

Jeśli na przykład masz 2 wycinki (jeden dzieje się o godzinie 16:00, a drugi o godzinie 17:00), a oba są oczekujące na wykonanie. Jeśli ustawisz wartość executionPriorityOrder na Wartość NajnowszyFirst, najpierw zostanie przetworzony wycinek o godzinie 17:00. Podobnie w przypadku ustawienia parametru executionPriorityORder na wartość OldestFIrst, wycinek o godzinie 16:00 jest przetwarzany.
retry Liczba całkowita

Maksymalna wartość może wynosić 10
0 Liczba ponownych prób przed przetworzeniem danych dla wycinka jest oznaczona jako Niepowodzenie. Wykonanie działania dla wycinka danych jest ponawiane do określonej liczby ponownych prób. Ponowienie próby jest wykonywane tak szybko, jak to możliwe po awarii.
timeout przedział_czasu 00:00:00 Limit czasu działania. Przykład: 00:10:00 (oznacza limit czasu 10 minut)

Jeśli wartość nie jest określona lub wynosi 0, limit czasu jest nieskończony.

Jeśli czas przetwarzania danych w wycinku przekracza wartość limitu czasu, jest anulowany, a system próbuje ponowić próbę przetworzenia. Liczba ponownych prób zależy od właściwości ponawiania. Po przekroczeniu limitu czasu stan jest ustawiony na Limit czasu.
Opóźnienie przedział_czasu 00:00:00 Określ opóźnienie przed rozpoczęciem przetwarzania danych wycinka.

Wykonanie działania dla wycinka danych jest uruchamiane po upływie oczekiwanego czasu wykonania opóźnienia.

Przykład: 00:10:00 (oznacza opóźnienie 10 minut)
longRetry Liczba całkowita

Maksymalna wartość: 10
1 Liczba długich prób ponawiania prób przed niepowodzeniem wykonania wycinka.

longRetry próby są odstępowane przez longRetryInterval. Jeśli więc musisz określić czas między próbami ponawiania próby, użyj parametru longRetry. Jeśli zostanie określona zarówno próba ponawiania, jak i longRetry każda próba longRetry obejmuje próby ponawiania, a maksymalna liczba prób to Ponów próbę * longRetry.

Jeśli na przykład mamy następujące ustawienia w zasadach działań:
Ponów próbę: 3
longRetry: 2
longRetryInterval: 01:00:00

Załóżmy, że jest tylko jeden wycinek do wykonania (stan oczekuje) i wykonywanie działania kończy się niepowodzeniem za każdym razem. Początkowo istniałyby 3 kolejne próby wykonania. Po każdej próbie stan wycinka to Ponów próbę. Po zakończeniu pierwszych 3 prób wycinek będzie miał stan LongRetry.

Po godzinie (oznacza to, że wartość longRetryInteval) będzie inny zestaw 3 kolejnych prób wykonania. Po tym stan wycinka będzie niepowodzeniem i nie zostanie podjęta żadna próba ponawiania prób. W związku z tym podjęto ogólną 6 prób.

Jeśli jakiekolwiek wykonanie powiedzie się, stan wycinka będzie gotowy i nie podjęto kolejnych ponownych prób.

longRetry może być używane w sytuacjach, gdy zależne dane docierają do niedeterministycznych czasów lub ogólne środowisko jest łyse, w którym odbywa się przetwarzanie danych. W takich przypadkach wykonanie ponownych prób po kolei może nie pomóc i zrobić to po upływie interwału czasu w żądanych danych wyjściowych.

Słowo ostrożności: nie ustawiaj wysokich wartości dla longRetry lub longRetryInterval. Zazwyczaj wyższe wartości oznaczają inne problemy systemowe.
longRetryInterval przedział_czasu 00:00:00 Opóźnienie między długimi próbami ponawiania prób

Przykładowy potok kopiowania

W poniższym przykładowym potoku występuje jedno działanie typu Copy w sekcji activities. W tym przykładzie działanie kopiowania kopiuje dane z usługi Azure Blob Storage do usługi Azure SQL Database.

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

Pamiętaj o następujących kwestiach:

  • W sekcji działań jest tylko jedno działanie, którego parametr type (typ) został ustawiony na wartość Copy.
  • Dane wejściowe dla działania mają ustawienie InputDataset, a dane wyjściowe — OutputDataset. Definiowanie zestawów danych w formacie JSON opisano w artykule Zestawy danych.
  • W sekcji typeProperties parametr BlobSource został określony jako typ źródłowy, a parametr SqlSink został określony jako typ ujścia. W sekcji Działania przenoszenia danych kliknij magazyn danych, którego chcesz użyć jako źródła lub ujścia, aby dowiedzieć się więcej na temat przenoszenia danych do/z tego magazynu danych.

Aby zapoznać się z kompletnym przewodnikiem tworzenia tego potoku, zobacz Samouczek: kopiowanie danych z usługi Blob Storage do SQL Database.

Przykładowy potok przekształcania

W poniższym przykładowym potoku występuje jedno działanie typu HDInsightHive w sekcji activities. W tym przykładzie działanie HDInsight Hive przekształca dane z usługi Azure Blob Storage przez uruchomienie pliku skryptu Hive na klastrze usługi Azure HDInsight Hadoop.

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

Pamiętaj o następujących kwestiach:

  • W sekcji działań jest tylko jedno działanie, którego parametr type został ustawiony na wartość HDInsightHive.
  • Plik skryptu programu Hive partitionweblogs.hql jest przechowywany na koncie usługi Azure Storage (określonym za pomocą elementu scriptLinkedService o nazwie AzureStorageLinkedService) oraz w folderze script w kontenerze adfgetstarted.
  • Sekcja defines służy do określania ustawień środowiska uruchomieniowego przekazywanych do skryptu hive jako wartości konfiguracji programu Hive (np${hiveconf:inputtable}. ). ${hiveconf:partitionedtable}

Sekcja typeProperties jest inna dla każdego działania przekształcania. Aby dowiedzieć się więcej o właściwościach typów obsługiwanych dla działania przekształcania, kliknij działanie przekształcania w tabeli Działania przekształcania danych .

Aby zapoznać się z kompletnym przewodnikiem tworzenia tego potoku, zobacz Samouczek: tworzenie pierwszego potoku w celu przetwarzania danych przy użyciu klastra Hadoop.

Wiele działań w potoku

Poprzednie dwa przykładowe potoki zawierają tylko po jednym działaniu. Potok może obejmować więcej niż jedno działanie.

Jeśli masz wiele działań w potoku, a dane wyjściowe działania nie są danymi wejściowymi innego działania, działania mogą być uruchamiane równolegle, jeśli wycinki danych wejściowych dla działań są gotowe.

Możesz połączyć dwa działania, używając wyjściowego zestawu danych jednego działania jako wejściowego zestawu danych drugiego działania. Drugie działanie jest wykonywane tylko wtedy, gdy pierwszy zakończy się pomyślnie.

Łączenie łańcuchów działań w tym samym potoku

W tym przykładzie potok ma dwa działania: Activity1 i Activity2. Element Activity1 przyjmuje zestaw danych Dataset1 jako dane wejściowe i generuje wyjściowy zestaw danych Dataset2. Działanie przyjmuje zestaw danych Dataset2 jako dane wejściowe i generuje wyjściowy zestaw danych3. Ponieważ dane wyjściowe elementu Activity1 (Dataset2) są danymi wejściowymi działania Activity2, działanie Activity2 jest uruchamiane dopiero po pomyślnym zakończeniu działania i wygenerowaniu wycinka Zestawu danych2. Jeśli działanie1 kończy się niepowodzeniem z jakiegoś powodu i nie generuje wycinka Zestawu danych2, działanie 2 nie jest uruchamiane dla tego wycinka (na przykład: od 9:00 do 10:00).

Możesz również połączyć działania łańcuchowe, które znajdują się w różnych potokach.

Łączenie łańcuchów działań w dwóch potokach

W tym przykładzie potok Pipeline1 ma tylko jedno działanie, które przyjmuje zestaw danych Dataset1 jako dane wejściowe i generuje zestaw danych Dataset2 jako dane wyjściowe. Potok2 ma również tylko jedno działanie, które przyjmuje zestaw danych Dataset2 jako dane wejściowe i Zestaw danych3 jako dane wyjściowe.

Aby uzyskać więcej informacji, zobacz planowanie i wykonywanie.

Tworzenie i monitorowanie potoków

Potoki można tworzyć przy użyciu jednego z tych narzędzi lub zestawów SDK.

  • Kreator kopiowania
  • Visual Studio
  • Azure PowerShell
  • Szablon usługi Azure Resource Manager
  • Interfejs API REST
  • Interfejs API .NET

Zapoznaj się z poniższymi samouczkami, aby uzyskać instrukcje krok po kroku dotyczące tworzenia potoków przy użyciu jednego z tych narzędzi lub zestawów SDK.

Po utworzeniu/wdrożeniu potoku można zarządzać potokami i monitorować je przy użyciu bloków Azure Portal lub Monitorować aplikację i zarządzać nią. Zapoznaj się z poniższymi tematami, aby uzyskać instrukcje krok po kroku.

Jednorazowy potok

Potok można utworzyć i zaplanować okresowe uruchamianie potoku (na przykład: godzinowe lub codzienne) w godzinach rozpoczęcia i zakończenia określonych w definicji potoku. Aby uzyskać szczegółowe informacje, zobacz Planowanie działań. Możesz również utworzyć potok, który działa tylko raz. W tym celu należy ustawić właściwość pipelineMode w definicji potoku na jeden czas , jak pokazano w poniższym przykładzie JSON. Wartość domyślna dla tej właściwości jest zaplanowana.

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

. Weź pod uwagę następujące kwestie:

  • Czasy rozpoczęcia i zakończenia potoku nie są określone.
  • Dostępność wejściowych i wyjściowych zestawów danych jest określona (częstotliwość i interwał), mimo że usługa Data Factory nie używa wartości.
  • Widok diagramu nie pokazuje potoków jednorazowych. To zachowanie jest celowe.
  • Nie można zaktualizować potoków jednorazowych. Możesz sklonować potok jednorazowy, zmienić jego nazwę, zaktualizować właściwości i wdrożyć go w celu utworzenia innego.

Następne kroki