Przenoszenie danych przy użyciu działania kopiowania

Uwaga

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

Omówienie

W Azure Data Factory można użyć działania kopiowania, aby skopiować dane między lokalnymi i chmurowymi magazynami danych. Po skopiowaniu danych można je dalej przekształcać i analizować. Możesz również użyć działania kopiowania, aby opublikować wyniki transformacji i analizy na potrzeby analizy biznesowej (BI) i użycia aplikacji.

Role of Copy Activity

Działanie kopiowania jest obsługiwane przez bezpieczną, niezawodną, skalowalną i globalnie dostępną usługę. Ten artykuł zawiera szczegółowe informacje na temat przenoszenia danych w usłudze Data Factory i działania kopiowania.

Najpierw zobaczmy, jak odbywa się migracja danych między dwoma magazynami danych w chmurze oraz między lokalnym magazynem danych a magazynem danych w chmurze.

Uwaga

Aby uzyskać ogólne informacje o działaniach, zobacz Omówienie potoków i działań.

Kopiowanie danych między dwoma magazynami danych w chmurze

Gdy magazyny danych źródła i ujścia znajdują się w chmurze, działanie kopiowania przechodzi przez następujące etapy, aby skopiować dane ze źródła do ujścia. Usługa, która obsługuje działanie kopiowania:

  1. Odczytuje dane ze źródłowego magazynu danych.
  2. Wykonuje serializacji/deserializacji, kompresji/dekompresji, mapowania kolumn i konwersji typów. Wykonuje te operacje na podstawie konfiguracji wejściowego zestawu danych, wyjściowego zestawu danych i działania kopiowania.
  3. Zapisuje dane w docelowym magazynie danych.

Usługa automatycznie wybiera optymalny region do wykonania przenoszenia danych. Ten region jest zwykle tym, który znajduje się najbliżej magazynu danych ujścia.

Cloud-to-cloud copy

Kopiowanie danych między lokalnym magazynem danych a magazynem danych w chmurze

Aby bezpiecznie przenosić dane między lokalnym magazynem danych i magazynem danych w chmurze, zainstaluj Zarządzanie danymi Gateway na maszynie lokalnej. Zarządzanie danymi Gateway to agent, który umożliwia hybrydowe przenoszenie i przetwarzanie danych. Można go zainstalować na tej samej maszynie co sam magazyn danych lub na oddzielnej maszynie, która ma dostęp do magazynu danych.

W tym scenariuszu Zarządzanie danymi Gateway wykonuje serializacji/deserializacji, kompresji/dekompresji, mapowania kolumn i konwersji typów. Dane nie przepływają przez usługę Azure Data Factory. Zamiast tego Zarządzanie danymi Gateway bezpośrednio zapisuje dane w magazynie docelowym.

On-premises-to-cloud copy

Aby zapoznać się z wprowadzeniem i przewodnikiem, zobacz Przenoszenie danych między magazynami danych lokalnych i w chmurze . Aby uzyskać szczegółowe informacje na temat tego agenta, zobacz Zarządzanie danymi Gateway.

Dane można również przenieść z/do obsługiwanych magazynów danych hostowanych na maszynach wirtualnych IaaS platformy Azure przy użyciu usługi Zarządzanie danymi Gateway. W takim przypadku możesz zainstalować bramę Zarządzanie danymi na tej samej maszynie wirtualnej co sam magazyn danych lub na oddzielnej maszynie wirtualnej, która ma dostęp do magazynu danych.

Obsługiwane magazyny danych i formaty

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.

Uwaga

Jeśli musisz przenieść dane do/z magazynu danych nieobsługiwanego przez działanie kopiowania, użyj niestandardowego działania w usłudze Data Factory z własną logiką do obsługi kopiowania/przenoszenia danych. 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).

Kategoria Magazyn danych Obsługiwany jako źródło Obsługiwany jako ujście
Azure Azure Blob Storage
  Azure Cosmos DB (interfejs API SQL)
  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
  SYSTEM PLIKÓW 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.

Obsługiwane formaty plików

Działanie kopiowania umożliwia kopiowanie plików w stanie rzeczywistym między dwoma magazynami danych opartymi na plikach. Możesz pominąć sekcję formatowania zarówno w definicjach wejściowych, jak i wyjściowych zestawu danych. Dane są skutecznie kopiowane bez serializacji/deserializacji.

Działanie kopiowania odczytuje również dane z plików i zapisuje je w określonych formatach: obsługiwane są formaty Tekstowe, JSON, Avro, ORC i Parquet oraz koder-dekoder kompresji GZip, Deflate, BZip2 i ZipDeflate . Zobacz Obsługiwane formaty plików i kompresji ze szczegółami .

Można na przykład wykonać następujące działania kopiowania:

  • Kopiowanie danych w bazie danych SQL Server i zapisywanie ich w usłudze Azure Data Lake Store w formacie ORC.
  • Skopiuj pliki w formacie tekstowym (CSV) z lokalnego systemu plików i zapisuj je do obiektu blob platformy Azure w formacie Avro.
  • Skopiuj spakowane pliki z lokalnego systemu plików i dekompresuj, a następnie przenieś je do usługi Azure Data Lake Store.
  • Skopiuj dane w formacie skompresowanego tekstu (CSV) GZip z usługi Azure Blob i zapisuj je do Azure SQL Database.

Globalne przenoszenie danych

Azure Data Factory jest dostępna tylko w regionach Zachodnie stany USA, Wschodnie stany USA i Europa Północna. Jednak usługa, która obsługuje działanie kopiowania, jest dostępna globalnie w następujących regionach i lokalizacjach geograficznych. Globalnie dostępna topologia zapewnia wydajne przenoszenie danych, które zwykle pozwala uniknąć przeskoków między regionami. Zobacz Usługi według regionów , aby uzyskać informacje o dostępności usługi Data Factory i przenoszenia danych w regionie.

Kopiowanie danych między magazynami danych w chmurze

Gdy magazyny danych źródła i ujścia znajdują się w chmurze, usługa Data Factory używa wdrożenia usługi w regionie znajdującym się najbliżej ujścia w tej samej lokalizacji geograficznej, aby przenieść dane. Mapę można znaleźć w poniższej tabeli:

Lokalizacja geograficzna docelowych magazynów danych Region docelowego magazynu danych Region używany do przenoszenia danych
Stany Zjednoczone East US East US
  Wschodnie stany USA 2 Wschodnie stany USA 2
  Central US Central US
  Północno-środkowe stany USA Północno-środkowe stany USA
  South Central US South Central US
  Zachodnio-środkowe stany USA Zachodnio-środkowe stany USA
  Zachodnie stany USA Zachodnie stany USA
  Zachodnie stany USA 2 Zachodnie stany USA 2
Kanada Kanada Wschodnia Kanada Środkowa
  Kanada Środkowa Kanada Środkowa
Brazylia Brazylia Południowa Brazylia Południowa
Europa Europa Północna Europa Północna
  West Europe West Europe
Zjednoczone Królestwo Zachodnie Zjednoczone Królestwo Południowe Zjednoczone Królestwo
  Południowe Zjednoczone Królestwo Południowe Zjednoczone Królestwo
Azja i Pacyfik Southeast Asia Southeast Asia
  Azja Wschodnia Southeast Asia
Australia Australia Wschodnia Australia Wschodnia
  Australia Południowo-Wschodnia Australia Południowo-Wschodnia
Indie Indie Środkowe Indie Środkowe
  Indie Zachodnie Indie Środkowe
  Indie Południowe Indie Środkowe
Japonia Japonia Wschodnia Japonia Wschodnia
  Japonia Zachodnia Japonia Wschodnia
Korea Korea Środkowa Korea Środkowa
  Korea Południowa Korea Środkowa

Alternatywnie możesz jawnie wskazać region usługi Data Factory, który ma być używany do wykonania kopii, określając executionLocation właściwość w obszarze Działanie typePropertieskopiowania . Obsługiwane wartości tej właściwości są wymienione w powyższym regionie używanym do przenoszenia danych kolumny. Zanotuj, że dane przechodzą przez ten region przez sieć podczas kopiowania. Aby na przykład skopiować między sklepami platformy Azure w Korei, możesz określić "executionLocation": "Japan East" trasę przez region Japonii (zobacz przykładowy kod JSON jako odwołanie).

Uwaga

Jeśli region docelowego magazynu danych nie znajduje się na powyższej liście lub nie jest wykrywalny, domyślnie działanie kopiowania kończy się niepowodzeniem zamiast przechodzić przez region alternatywny, chyba że executionLocation zostanie określony. Lista obsługiwanych regionów zostanie rozszerzona w czasie.

Kopiowanie danych między lokalnym magazynem danych a magazynem danych w chmurze

Gdy dane są kopiowane między lokalnymi (lub maszynami wirtualnymi platformy Azure/IaaS) i magazynami w chmurze, Zarządzanie danymi Gateway wykonuje przenoszenie danych na maszynie lokalnej lub maszynie wirtualnej. Dane nie przepływają przez usługę w chmurze, chyba że używasz możliwości kopiowania etapowego . W takim przypadku dane przepływają przez przejściowy magazyn obiektów blob platformy Azure przed zapisaniem ich w magazynie danych ujścia.

Tworzenie potoku za pomocą działania kopiowania

Potok można utworzyć za pomocą działania kopiowania na kilka sposobów:

Za pomocą Kreatora kopiowania

Kreator kopiowania fabryki danych ułatwia tworzenie potoku za pomocą działania kopiowania. Ten potok umożliwia kopiowanie danych z obsługiwanych źródeł do miejsc docelowych bez zapisywania definicji JSON dla połączonych usług, zestawów danych i potoków. Aby uzyskać szczegółowe informacje na temat kreatora, zobacz Kreator kopiowania w usłudze Data Factory.

Przy użyciu skryptów JSON

Możesz użyć Edytora fabryki danych w Visual Studio lub Azure PowerShell, aby utworzyć definicję JSON dla potoku (przy użyciu działania kopiowania). Następnie można wdrożyć go w celu utworzenia potoku w usłudze Data Factory. Zobacz Samouczek: używanie działania kopiowania w potoku Azure Data Factory, aby zapoznać się z samouczkiem z instrukcjami krok po kroku.

Właściwości JSON (takie jak nazwa, opis, tabele wejściowe i wyjściowe oraz zasady) są dostępne dla wszystkich typów działań. Właściwości dostępne w typeProperties sekcji działania różnią się w zależności od typu działania.

W przypadku działania kopiowania typeProperties sekcja różni się w zależności od typów źródeł i ujść. Kliknij źródło/ujście w sekcji Obsługiwane źródła i ujścia , aby dowiedzieć się więcej o właściwościach typu obsługiwanych przez działanie kopiowania dla tego magazynu danych.

Oto przykładowa definicja JSON:

{
  "name": "ADFTutorialPipeline",
  "properties": {
    "description": "Copy data from Azure blob to Azure SQL table",
    "activities": [
      {
        "name": "CopyFromBlobToSQL",
        "type": "Copy",
        "inputs": [
          {
            "name": "InputBlobTable"
          }
        ],
        "outputs": [
          {
            "name": "OutputSQLTable"
          }
        ],
        "typeProperties": {
          "source": {
            "type": "BlobSource"
          },
          "sink": {
            "type": "SqlSink"
          },
          "executionLocation": "Japan East"          
        },
        "Policy": {
          "concurrency": 1,
          "executionPriorityOrder": "NewestFirst",
          "retry": 0,
          "timeout": "01:00:00"
        }
      }
    ],
    "start": "2016-07-12T00:00:00Z",
    "end": "2016-07-13T00:00:00Z"
  }
}

Harmonogram zdefiniowany w wyjściowym zestawie danych określa, kiedy działanie jest uruchamiane (na przykład: codziennie, częstotliwość jako dzień i interwał jako 1). Działanie kopiuje dane z wejściowego zestawu danych (źródła) do wyjściowego zestawu danych (ujścia).

Możesz określić więcej niż jeden wejściowy zestaw danych do działania kopiowania. Są one używane do weryfikowania zależności przed uruchomieniem działania. Jednak tylko dane z pierwszego zestawu danych są kopiowane do docelowego zestawu danych. Aby uzyskać więcej informacji, zobacz Planowanie i wykonywanie.

Wydajności i dostosowywanie

Zapoznaj się z przewodnikiem dotyczącym wydajności i dostrajania działania kopiowania, który opisuje kluczowe czynniki wpływające na wydajność przenoszenia danych (działanie kopiowania) w Azure Data Factory. Zawiera również listę obserwowanych wydajności podczas testów wewnętrznych i omawia różne sposoby optymalizacji wydajności działania kopiowania.

Odporność na uszkodzenia

Domyślnie działanie kopiowania przestanie kopiować dane i zwraca błąd w przypadku napotkania niezgodnych danych między źródłem a ujściem; Można jawnie skonfigurować tak, aby pominąć i zarejestrować niezgodne wiersze i skopiować tylko te zgodne dane, aby kopia zakończyła się pomyślnie. Zobacz Odporność na uszkodzenia działania kopiowania , aby uzyskać więcej szczegółów.

Zagadnienia dotyczące bezpieczeństwa

Zobacz Zagadnienia dotyczące zabezpieczeń, które opisują infrastrukturę zabezpieczeń, którą usługi przenoszenia danych w Azure Data Factory używać do zabezpieczania danych.

Planowanie i sekwencyjne kopiowanie

Zobacz Planowanie i wykonywanie , aby uzyskać szczegółowe informacje o sposobie działania planowania i wykonywania w usłudze Data Factory. Istnieje możliwość uruchomienia wielu operacji kopiowania po jednym po drugim w sposób sekwencyjny/uporządkowany. Zobacz sekcję Kopiuj sekwencyjnie .

Konwersje typu

Różne magazyny danych mają różne systemy typów natywnych. Działanie kopiowania wykonuje automatyczne konwersje typów z typów źródłowych na typy ujścia przy użyciu następującego podejścia dwuetapowego:

  1. Konwertuj z natywnych typów źródłowych na typ platformy .NET.
  2. Przekonwertuj typ platformy .NET na natywny typ ujścia.

Mapowanie z natywnego systemu typów na typ platformy .NET dla magazynu danych znajduje się w odpowiednim artykule dotyczącym magazynu danych. (Kliknij konkretny link w tabeli Obsługiwane magazyny danych). Za pomocą tych mapowań można określić odpowiednie typy podczas tworzenia tabel, aby działanie kopiowania wykonywało odpowiednie konwersje.

Następne kroki