Zestawy danych w Azure Data Factory (wersja 1)
Uwaga
Ten artykuł dotyczy wersji 1 usługi Data Factory. Jeśli używasz bieżącej wersji usługi Data Factory, zobacz Zestawy danych w wersji 2.
W tym artykule opisano zestawy danych, sposób ich definiowania w formacie JSON oraz sposobu ich użycia w potokach Azure Data Factory. Zawiera szczegółowe informacje dotyczące każdej sekcji (na przykład struktury, dostępności i zasad) w definicji JSON zestawu danych. Artykuł zawiera również przykłady użycia właściwości przesunięcia, anchorDateTime i stylu w definicji JSON zestawu danych.
Uwaga
Jeśli dopiero zaczynasz korzystać z usługi Data Factory, zobacz Wprowadzenie do Azure Data Factory, aby zapoznać się z omówieniem. Jeśli nie masz praktycznego doświadczenia w tworzeniu fabryk danych, możesz lepiej zrozumieć, czytając samouczek dotyczący przekształcania danych i samouczek dotyczący przenoszenia danych.
Omówienie
Fabryka danych może obejmować jeden lub wiele potoków. Potok to logiczne grupowanie działań, które razem wykonują zadanie. Działania w potoku określają akcje do wykonania na danych. Na przykład możesz użyć działania kopiowania, aby skopiować dane z bazy danych SQL Server do usługi Azure Blob Storage. Następnie możesz użyć działania Hive, które uruchamia skrypt Hive w klastrze usługi Azure HDInsight w celu przetwarzania danych z usługi Blob Storage w celu wygenerowania danych wyjściowych. Na koniec możesz użyć drugiego działania kopiowania, aby skopiować dane wyjściowe do Azure Synapse Analytics, na podstawie których są tworzone rozwiązania do raportowania analizy biznesowej. Aby uzyskać więcej informacji na temat potoków i działań, zobacz Potoki i działania w Azure Data Factory.
Działanie może przyjmować zero lub więcej wejściowych zestawów danych i tworzyć co najmniej jeden wyjściowy zestaw danych. Wejściowy zestaw danych reprezentuje dane wejściowe dla działania w potoku, a wyjściowy zestaw danych reprezentuje dane wyjściowe dla działania. Zestawy danych identyfikują dane w różnych magazynach danych, takich jak tabele, pliki, foldery i dokumenty. Na przykład zestaw danych obiektów blob platformy Azure określa kontener obiektów blob i folder w usłudze Blob Storage, z którego potok powinien odczytywać dane.
Przed utworzeniem zestawu danych utwórz połączoną usługę , aby połączyć magazyn danych z fabryką danych. Połączone usługi działają podobnie do parametrów połączenia, umożliwiając definiowanie informacji wymaganych przez usługę Data Factory do nawiązywania połączeń z zasobami zewnętrznymi. Zestawy danych identyfikują dane w połączonych magazynach danych, takich jak tabele SQL, pliki, foldery i dokumenty. Na przykład połączona usługa Azure Storage łączy konto magazynu z fabryką danych. Zestaw danych obiektów blob platformy Azure reprezentuje kontener obiektów blob i folder zawierający wejściowe obiekty blob do przetworzenia.
Oto przykładowy scenariusz. Aby skopiować dane z usługi Blob Storage do SQL Database, należy utworzyć dwie połączone usługi: Azure Storage i Azure SQL Database. Następnie utwórz dwa zestawy danych: zestaw danych obiektów blob platformy Azure (odwołujący się do połączonej usługi Azure Storage) i zestaw danych tabeli Azure SQL (który odnosi się do połączonej usługi Azure SQL Database). Połączone usługi Azure Storage i Azure SQL Database zawierają parametry połączenia używane przez usługę Data Factory w czasie wykonywania do łączenia się z usługą Azure Storage i usługą Azure SQL Database. Zestaw danych obiektów blob platformy Azure określa kontener obiektów blob i folder obiektów blob, który zawiera wejściowe obiekty blob w magazynie obiektów blob. Zestaw danych tabeli Azure SQL określa tabelę SQL w bazie danych SQL, do której mają zostać skopiowane dane.
Na poniższym diagramie przedstawiono relacje między potokiem, działaniem, zestawem danych i połączoną usługą w usłudze Data Factory:
Dane JSON zestawu danych
Zestaw danych w usłudze Data Factory jest zdefiniowany w formacie JSON w następujący sposób:
{
"name": "<name of dataset>",
"properties": {
"type": "<type of dataset: AzureBlob, AzureSql etc...>",
"external": "<boolean flag to indicate external data. only for input datasets>",
"linkedServiceName": "<Name of the linked service that refers to a data store.>",
"structure": [
{
"name": "<Name of the column>",
"type": "<Name of the type>"
}
],
"typeProperties": {
"<type specific property>": "<value>",
"<type specific property 2>": "<value 2>",
},
"availability": {
"frequency": "<Specifies the time unit for data slice production. Supported frequency: Minute, Hour, Day, Week, Month>",
"interval": "<Specifies the interval within the defined frequency. For example, frequency set to 'Hour' and interval set to 1 indicates that new data slices should be produced hourly>"
},
"policy":
{
}
}
}
W poniższej tabeli opisano właściwości w powyższym formacie JSON:
Właściwość | Opis | Wymagane | Domyślny |
---|---|---|---|
name | Nazwa zestawu danych. Zobacz Azure Data Factory — reguły nazewnictwa dla reguł nazewnictwa. | Tak | NA |
typ | Typ zestawu danych. Określ jeden z typów obsługiwanych przez usługę Data Factory (na przykład AzureBlob, AzureSqlTable). Aby uzyskać szczegółowe informacje, zobacz Typ zestawu danych. |
Tak | NA |
— struktura | Schemat zestawu danych. Aby uzyskać szczegółowe informacje, zobacz Struktura zestawu danych. |
Nie | NA |
typeProperties | Właściwości typu są różne dla każdego typu (na przykład: Azure Blob, Azure SQL tabeli). Aby uzyskać szczegółowe informacje na temat obsługiwanych typów i ich właściwości, zobacz Typ zestawu danych. | Tak | NA |
external | Flaga logiczna określająca, czy zestaw danych jest jawnie generowany przez potok fabryki danych, czy nie. Jeśli wejściowy zestaw danych dla działania nie jest generowany przez bieżący potok, ustaw tę flagę na true. Ustaw tę flagę na true dla wejściowego zestawu danych pierwszego działania w potoku. | Nie | fałsz |
availability | Definiuje okno przetwarzania (na przykład co godzinę lub codziennie) lub model fragmentowania dla produkcji zestawu danych. Każda jednostka danych zużywanych i generowanych przez przebieg działania jest nazywana wycinką danych. Jeśli dostępność wyjściowego zestawu danych jest ustawiona na codziennie (częstotliwość — dzień, interwał — 1), wycinek jest generowany codziennie. Aby uzyskać szczegółowe informacje, zobacz Dostępność zestawu danych. Aby uzyskać szczegółowe informacje na temat modelu fragmentowania zestawu danych, zobacz artykuł Planowanie i wykonywanie . |
Tak | NA |
policy | Definiuje kryteria lub warunek, który musi spełniać wycinki zestawu danych. Aby uzyskać szczegółowe informacje, zobacz sekcję Zasady zestawu danych . |
Nie | NA |
Przykład zestawu danych
W poniższym przykładzie zestaw danych reprezentuje tabelę o nazwie MyTable w bazie danych SQL.
{
"name": "DatasetSample",
"properties": {
"type": "AzureSqlTable",
"linkedServiceName": "AzureSqlLinkedService",
"typeProperties":
{
"tableName": "MyTable"
},
"availability":
{
"frequency": "Day",
"interval": 1
}
}
}
Pamiętaj o następujących kwestiach:
- typ jest ustawiony na Wartość AzureSqlTable.
- właściwość typu tableName (specyficzna dla typu AzureSqlTable) jest ustawiona na Wartość MyTable.
- linkedServiceName odnosi się do połączonej usługi typu AzureSqlDatabase, która jest zdefiniowana w następnym fragmencie kodu JSON.
- częstotliwość dostępności jest ustawiona na Dzień, a interwał jest ustawiony na 1. Oznacza to, że wycinek zestawu danych jest generowany codziennie.
Usługa AzureSqlLinkedService jest zdefiniowana w następujący sposób:
{
"name": "AzureSqlLinkedService",
"properties": {
"type": "AzureSqlDatabase",
"description": "",
"typeProperties": {
"connectionString": "Data Source=tcp:<servername>.database.windows.net,1433;Initial Catalog=<databasename>;User ID=<username>@<servername>;Password=<password>;Integrated Security=False;Encrypt=True;Connect Timeout=30"
}
}
}
W poprzednim fragmencie kodu JSON:
- typ jest ustawiony na AzureSqlDatabase.
- właściwość typu connectionString określa informacje dotyczące nawiązywania połączenia z bazą danych SQL.
Jak widać, połączona usługa definiuje sposób nawiązywania połączenia z bazą danych SQL. Zestaw danych definiuje tabelę używaną jako dane wejściowe i wyjściowe dla działania w potoku.
Ważne
Jeśli potok nie jest generowany przez zestaw danych, powinien zostać oznaczony jako zewnętrzny. To ustawienie zwykle dotyczy danych wejściowych pierwszego działania w potoku.
Typ zestawu danych
Typ zestawu danych zależy od używanego magazynu danych. Poniższa tabela zawiera listę magazynów danych obsługiwanych przez usługę Data Factory. Kliknij magazyn danych, aby dowiedzieć się, jak utworzyć połączoną usługę i zestaw danych dla tego magazynu danych.
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 z usługą * mogą być lokalne lub w infrastrukturze platformy Azure jako usługa (IaaS). Te magazyny danych wymagają zainstalowania bramy Zarządzanie danymi.
W przykładzie w poprzedniej sekcji typ zestawu danych jest ustawiony na AzureSqlTable. Podobnie w przypadku zestawu danych obiektów blob platformy Azure typ zestawu danych jest ustawiony na Wartość AzureBlob, jak pokazano w następującym formacie JSON:
{
"name": "AzureBlobInput",
"properties": {
"type": "AzureBlob",
"linkedServiceName": "AzureStorageLinkedService",
"typeProperties": {
"fileName": "input.log",
"folderPath": "adfgetstarted/inputdata",
"format": {
"type": "TextFormat",
"columnDelimiter": ","
}
},
"availability": {
"frequency": "Month",
"interval": 1
},
"external": true,
"policy": {}
}
}
Struktura zestawu danych
Sekcja struktury jest opcjonalna. Definiuje schemat zestawu danych, zawierając kolekcję nazw i typów danych kolumn. Sekcja struktury służy do udostępniania informacji o typie używanym do konwertowania typów i mapowania kolumn ze źródła na miejsce docelowe. W poniższym przykładzie zestaw danych zawiera trzy kolumny: slicetimestamp
, projectname
i pageviews
. Są one odpowiednio typu Ciąg, Ciąg i Liczba dziesiętna.
structure:
[
{ "name": "slicetimestamp", "type": "String"},
{ "name": "projectname", "type": "String"},
{ "name": "pageviews", "type": "Decimal"}
]
Każda kolumna w strukturze zawiera następujące właściwości:
Właściwość | Opis | Wymagane |
---|---|---|
name | Nazwa kolumny. | Tak |
typ | Typ danych kolumny. | Nie |
kultura | . Kultura oparta na platformie NET, która ma być używana, gdy typ jest typem platformy .NET: Datetime lub Datetimeoffset . Wartość domyślna to en-us . |
Nie |
format | Ciąg formatu, który ma być używany, gdy typ jest typem platformy .NET: Datetime lub Datetimeoffset . |
Nie |
Poniższe wskazówki ułatwiają określenie, kiedy należy uwzględnić informacje o strukturze oraz informacje o tym, co należy uwzględnić w sekcji struktury .
W przypadku źródeł danych strukturalnych określ sekcję struktury tylko wtedy, gdy chcesz mapować kolumny źródłowe na kolumny ujścia, a ich nazwy nie są takie same. Tego rodzaju ustrukturyzowane źródło danych przechowuje schemat danych i informacje o typie wraz z samymi danymi. Przykłady ustrukturyzowanych źródeł danych obejmują SQL Server, Oracle i tabelę platformy Azure.
Ponieważ informacje o typie są już dostępne dla strukturalnych źródeł danych, podczas dołączania sekcji struktury nie należy uwzględniać informacji o typie.
W przypadku schematu dla źródeł danych odczytu (w szczególności usługi Blob Storage) można wybrać przechowywanie danych bez przechowywania żadnych informacji o schemacie lub typie danych. W przypadku tych typów źródeł danych uwzględnij strukturę, gdy chcesz mapować kolumny źródłowe na kolumny ujścia. Uwzględnij również strukturę, gdy zestaw danych jest danymi wejściowymi dla działania kopiowania, a typy danych źródłowego zestawu danych powinny być konwertowane na typy natywne dla ujścia.
Usługa Data Factory obsługuje następujące wartości do dostarczania informacji o typie w strukturze: Int16, Int32, Int64, Single, Double, Decimal, Byte[], Boolean, String, Guid, Datetime, Datetimeoffset i Timespan. Te wartości są zgodne ze specyfikacją języka wspólnego (CLS), . Wartości typów oparte na platformie NET.
Usługa Data Factory automatycznie wykonuje konwersje typów podczas przenoszenia danych ze źródłowego magazynu danych do magazynu danych ujścia.
Dostępność zestawu danych
Sekcja dostępności w zestawie danych definiuje okno przetwarzania (na przykład godzinowe, dzienne lub tygodniowe) dla zestawu danych. Aby uzyskać więcej informacji na temat okien aktywności, zobacz Planowanie i wykonywanie.
W poniższej sekcji dostępności określono, że wyjściowy zestaw danych jest generowany co godzinę lub wejściowy zestaw danych jest dostępny co godzinę:
"availability":
{
"frequency": "Hour",
"interval": 1
}
Jeśli potok ma następujące czasy rozpoczęcia i zakończenia:
"start": "2016-08-25T00:00:00Z",
"end": "2016-08-25T05:00:00Z",
Wyjściowy zestaw danych jest generowany co godzinę w godzinach rozpoczęcia i zakończenia potoku. W związku z tym istnieje pięć wycinków zestawu danych utworzonych przez ten potok, po jednym dla każdego okna działania (12:00– 1:00– 2:00, 2:00 – 3:00 – 4:00– 5:00).
W poniższej tabeli opisano właściwości, których można użyć w sekcji dostępności:
Właściwość | Opis | Wymagane | Domyślny |
---|---|---|---|
frequency | Określa jednostkę czasu dla produkcji wycinków zestawu danych. Obsługiwana częstotliwość: Minuta, Godzina, Dzień, Tydzień, Miesiąc |
Tak | NA |
interval | Określa mnożnik częstotliwości. Wyrażenie "Częstotliwość x interwał" określa częstotliwość tworzenia wycinka. Jeśli na przykład chcesz, aby zestaw danych był fragmentowany co godzinę, należy ustawić częstotliwość na Wartość Godzina, a interwał na 1. Należy pamiętać, że jeśli określisz częstotliwość jako Minuta, należy ustawić interwał na nie mniejszy niż 15. |
Tak | NA |
styl | Określa, czy wycinkę należy wygenerować na początku, czy na końcu interwału.
Jeśli właściwość frequency jest ustawiona na Dzień, a styl jest ustawiony na EndOfInterval, wycinek jest generowany w ciągu ostatniej godziny dnia. Jeśli właściwość frequency jest ustawiona na Wartość Godzina, a styl jest ustawiony na EndOfInterval, wycinek jest generowany na końcu godziny. Na przykład w przypadku wycinka dla okresu 13:00–23:00 wycinek jest generowany o godzinie 14:00. |
Nie | EndOfInterval |
anchorDateTime | Definiuje położenie bezwzględne w czasie używanym przez harmonogram do obliczania granic wycinków zestawu danych. Należy pamiętać, że jeśli ta właściwość ma elementy daty, które są bardziej szczegółowe niż określona częstotliwość, bardziej szczegółowe części są ignorowane. Jeśli na przykład interwał jest godzinowy (frequency: hour i interval: 1), a wartość anchorDateTime zawiera minuty i sekundy, to części anchorDateTime są ignorowane. |
Nie | 01/01/0001 |
przesunięcie | Przedział czasu, w którym są przesuwane początkowe i końcowe wycinki wszystkich zestawów danych. Należy pamiętać, że jeśli określono zarówno wartość anchorDateTime , jak i przesunięcie , wynikiem jest połączona zmiana. |
Nie | NA |
przykład przesunięcia
Domyślnie codzienne wycinki ("frequency": "Day", "interval": 1
) zaczynają się o godzinie 12:00 (północ) uniwersalny czas koordynowany (UTC). Jeśli chcesz, aby czas rozpoczęcia był 6:00 czasu UTC, ustaw przesunięcie, jak pokazano w poniższym fragmencie kodu:
"availability":
{
"frequency": "Day",
"interval": 1,
"offset": "06:00:00"
}
przykład anchorDateTime
W poniższym przykładzie zestaw danych jest generowany co 23 godziny. Pierwszy wycinek rozpoczyna się w czasie określonym przez anchorDateTime, który jest ustawiony na 2017-04-19T08:00:00
(UTC).
"availability":
{
"frequency": "Hour",
"interval": 23,
"anchorDateTime":"2017-04-19T08:00:00"
}
przykład przesunięcia/stylu
Następujący zestaw danych jest miesięczny i jest generowany w trzecim dniu każdego miesiąca o godzinie 8:00 (3.08:00:00
):
"availability": {
"frequency": "Month",
"interval": 1,
"offset": "3.08:00:00",
"style": "StartOfInterval"
}
Zasady zestawu danych
Sekcja zasad w definicji zestawu danych definiuje kryteria lub warunek, który musi spełniać wycinki zestawu danych.
Zasady walidacji
Nazwa zasady | Opis | Zastosowane do | Wymagane | Domyślny |
---|---|---|---|---|
minimumSizeMB | Sprawdza, czy dane w usłudze Azure Blob Storage spełniają minimalne wymagania dotyczące rozmiaru (w megabajtach). | Azure Blob Storage | Nie | NA |
minimumRows | Sprawdza, czy dane w bazie danych Azure SQL lub tabeli platformy Azure zawierają minimalną liczbę wierszy. |
|
Nie | NA |
Przykłady
minimumSizeMB:
"policy":
{
"validation":
{
"minimumSizeMB": 10.0
}
}
minimumRows:
"policy":
{
"validation":
{
"minimumRows": 100
}
}
Zewnętrzne zestawy danych
Zewnętrzne zestawy danych to te, które nie są generowane przez uruchomiony potok w fabryce danych. Jeśli zestaw danych jest oznaczony jako zewnętrzny, można zdefiniować zasady ExternalData , aby wpływać na zachowanie dostępności wycinka zestawu danych.
Jeśli zestaw danych nie jest tworzony przez usługę Data Factory, powinien zostać oznaczony jako zewnętrzny. To ustawienie zwykle dotyczy danych wejściowych pierwszego działania w potoku, chyba że jest używane działanie lub tworzenie łańcucha potoków.
Nazwa | Opis | Wymagane | Wartość domyślna |
---|---|---|---|
dataDelay | Czas opóźnienia sprawdzania dostępności danych zewnętrznych dla danego wycinka. Na przykład możesz opóźnić sprawdzanie godzinowe przy użyciu tego ustawienia. Ustawienie dotyczy tylko czasu bieżącego. Jeśli na przykład jest to teraz 13:00, a ta wartość to 10 minut, walidacja rozpoczyna się o 13:10. Należy pamiętać, że to ustawienie nie ma wpływu na wycinki w przeszłości. Wycinki z danymiczasu + zakończeniawycinka< Teraz są przetwarzane bez opóźnień. Czasy większe niż 23:59 godziny powinny być określone przy użyciu day.hours:minutes:seconds formatu. Na przykład, aby określić 24 godziny, nie używaj wartości 24:00:00. Zamiast tego użyj wartości 1.00:00:00. Jeśli używasz wartości 24:00:00, jest ona traktowana jako 24 dni (24.00:00:00). W ciągu 1 dnia i 4 godzin określ wartość 1:04:00:00. |
Nie | 0 |
retryInterval | Czas oczekiwania między niepowodzeniem a następną próbą. To ustawienie ma zastosowanie do czasu bieżącego. Jeśli poprzednia próba nie powiodła się, kolejna próba następuje po okresie retryInterval . Jeśli jest to teraz godzina 13:00, rozpoczniemy pierwszą próbę. Jeśli czas trwania pierwszego sprawdzenia poprawności wynosi 1 minutę, a operacja nie powiodła się, kolejna ponowna próba wynosi 1:00 + 1 min (czas trwania) + 1 min (interwał ponawiania prób) = 1:02 PM. W przypadku wycinków w przeszłości nie ma opóźnienia. Ponawianie jest wykonywane natychmiast. |
Nie | 00:01:00 (1 minuta) |
retryTimeout | Limit czasu dla każdej próby ponawiania. Jeśli ta właściwość jest ustawiona na 10 minut, walidacja powinna zostać ukończona w ciągu 10 minut. Jeśli walidacja trwa dłużej niż 10 minut, limit czasu ponawiania zostanie upłynął. Jeśli wszystkie próby przekroczenia limitu czasu walidacji, wycinek zostanie oznaczony jako Limit czasu. |
Nie | 00:10:00 (10 minut) |
maximumRetry | Liczba przypadków sprawdzania dostępności danych zewnętrznych. Maksymalna dozwolona wartość to 10. | Nie | 3 |
Tworzenie zestawów danych
Zestawy danych można tworzyć przy użyciu jednego z tych narzędzi lub zestawów SDK:
- Kreator kopiowania
- Visual Studio
- PowerShell
- Szablon usługi Azure Resource Manager
- Interfejs API REST
- Interfejs API .NET
Zapoznaj się z następującymi samouczkami, aby uzyskać instrukcje krok po kroku dotyczące tworzenia potoków i zestawów danych przy użyciu jednego z tych narzędzi lub zestawów SDK:
- Tworzenie potoku z działaniem przekształcania danych
- Tworzenie potoku za pomocą działania przenoszenia danych
Po utworzeniu i wdrożeniu potoku można zarządzać potokami i monitorować je za pomocą bloków Azure Portal lub aplikacji Monitorowanie i zarządzanie. Zapoznaj się z następującymi tematami, aby uzyskać instrukcje krok po kroku:
- Monitorowanie potoków i zarządzanie nimi przy użyciu bloków Azure Portal
- Monitorowanie potoków i zarządzanie nimi za pomocą aplikacji Monitorowanie i zarządzanie
Zestawy danych o określonym zakresie
Zestawy danych, które są ograniczone do potoku, można tworzyć przy użyciu właściwości zestawów danych . Te zestawy danych mogą być używane tylko przez działania w tym potoku, a nie przez działania w innych potokach. W poniższym przykładzie zdefiniowano potok z dwoma zestawami danych (InputDataset-rdc i OutputDataset-rdc) do użycia w potoku.
Ważne
Zestawy danych o określonym zakresie są obsługiwane tylko w przypadku potoków jednorazowych (gdzie właściwość pipelineMode jest ustawiona na OneTime). Aby uzyskać szczegółowe informacje, zobacz Onetime pipeline (Jednorazowy potok ).
{
"name": "CopyPipeline-rdc",
"properties": {
"activities": [
{
"type": "Copy",
"typeProperties": {
"source": {
"type": "BlobSource",
"recursive": false
},
"sink": {
"type": "BlobSink",
"writeBatchSize": 0,
"writeBatchTimeout": "00:00:00"
}
},
"inputs": [
{
"name": "InputDataset-rdc"
}
],
"outputs": [
{
"name": "OutputDataset-rdc"
}
],
"scheduler": {
"frequency": "Day",
"interval": 1,
"style": "StartOfInterval"
},
"name": "CopyActivity-0"
}
],
"start": "2016-02-28T00:00:00Z",
"end": "2016-02-28T00:00:00Z",
"isPaused": false,
"pipelineMode": "OneTime",
"expirationTime": "15.00:00:00",
"datasets": [
{
"name": "InputDataset-rdc",
"properties": {
"type": "AzureBlob",
"linkedServiceName": "InputLinkedService-rdc",
"typeProperties": {
"fileName": "emp.txt",
"folderPath": "adftutorial/input",
"format": {
"type": "TextFormat",
"rowDelimiter": "\n",
"columnDelimiter": ","
}
},
"availability": {
"frequency": "Day",
"interval": 1
},
"external": true,
"policy": {}
}
},
{
"name": "OutputDataset-rdc",
"properties": {
"type": "AzureBlob",
"linkedServiceName": "OutputLinkedService-rdc",
"typeProperties": {
"fileName": "emp.txt",
"folderPath": "adftutorial/output",
"format": {
"type": "TextFormat",
"rowDelimiter": "\n",
"columnDelimiter": ","
}
},
"availability": {
"frequency": "Day",
"interval": 1
},
"external": false,
"policy": {}
}
}
]
}
}
Następne kroki
- Aby uzyskać więcej informacji na temat potoków, zobacz Tworzenie potoków.
- Aby uzyskać więcej informacji o sposobie planowania i wykonywania potoków, zobacz Planowanie i wykonywanie w Azure Data Factory.