działanie Przepływ danych w usługach Azure Data Factory i Azure Synapse Analytics

DOTYCZY: Azure Data Factory Azure Synapse Analytics

Napiwek

Wypróbuj usługę Data Factory w usłudze Microsoft Fabric — rozwiązanie analityczne typu all-in-one dla przedsiębiorstw. Usługa Microsoft Fabric obejmuje wszystko, od przenoszenia danych do nauki o danych, analizy w czasie rzeczywistym, analizy biznesowej i raportowania. Dowiedz się, jak bezpłatnie rozpocząć nową wersję próbną !

Użyj działania Przepływ danych, aby przekształcić i przenieść dane za pośrednictwem przepływów danych mapowania. Jeśli dopiero zaczynasz korzystać z przepływów danych, zobacz Mapowanie Przepływ danych omówienie

Tworzenie działania Przepływ danych za pomocą interfejsu użytkownika

Aby użyć działania Przepływ danych w potoku, wykonaj następujące kroki:

  1. Wyszukaj Przepływ danych w okienku Działania potoku i przeciągnij działanie Przepływ danych na kanwę potoku.

  2. Wybierz nowe działanie Przepływ danych na kanwie, jeśli nie zostało jeszcze wybrane, a karta Ustawienia, aby edytować jego szczegóły.

    Pokazuje interfejs użytkownika dla działania Przepływ danych.

  3. Klucz punktu kontrolnego służy do ustawiania punktu kontrolnego, gdy przepływ danych jest używany do przechwytywania zmienionych danych. Możesz go zastąpić. Działania przepływu danych używają wartości guid jako klucza punktu kontrolnego zamiast "nazwy potoku i nazwy działania", aby zawsze można było śledzić stan przechwytywania zmian danych klienta, nawet jeśli istnieją jakiekolwiek akcje zmiany nazwy. Wszystkie istniejące działania przepływu danych używają starego klucza wzorca w celu zapewnienia zgodności z poprzednimi wersjami. Opcja klucza punktu kontrolnego po opublikowaniu nowego działania przepływu danych z włączonym zasobem przepływu danych zmian jest pokazana poniżej.

    Pokazuje interfejs użytkownika działania Przepływ danych z kluczem punktu kontrolnego.

  4. Wybierz istniejący przepływ danych lub utwórz nowy przy użyciu przycisku Nowy. Wybierz inne opcje zgodnie z wymaganiami, aby ukończyć konfigurację.

Składnia

{
    "name": "MyDataFlowActivity",
    "type": "ExecuteDataFlow",
    "typeProperties": {
      "dataflow": {
         "referenceName": "MyDataFlow",
         "type": "DataFlowReference"
      },
      "compute": {
         "coreCount": 8,
         "computeType": "General"
      },
      "traceLevel": "Fine",
      "runConcurrently": true,
      "continueOnError": true,      
      "staging": {
          "linkedService": {
              "referenceName": "MyStagingLinkedService",
              "type": "LinkedServiceReference"
          },
          "folderPath": "my-container/my-folder"
      },
      "integrationRuntime": {
          "referenceName": "MyDataFlowIntegrationRuntime",
          "type": "IntegrationRuntimeReference"
      }
}

Właściwości typu

Właściwości opis Dozwolone wartości Wymagania
Dataflow Odwołanie do wykonywanego Przepływ danych DataFlowReference Tak
integrationRuntime Środowisko obliczeniowe, na których działa przepływ danych. Jeśli nie zostanie określony, zostanie użyte środowisko Azure Integration Runtime autoresolve. IntegrationRuntimeReference Nie.
compute.coreCount Liczba rdzeni używanych w klastrze spark. Można określić tylko wtedy, gdy jest używane środowisko Azure Integration Runtime autoresolve 8, 16, 32, 48, 80, 144, 272 Nie.
compute.computeType Typ zasobów obliczeniowych używanych w klastrze spark. Można określić tylko wtedy, gdy jest używane środowisko Azure Integration Runtime autoresolve "Ogólne" Nie.
staging.linkedService Jeśli używasz źródła lub ujścia usługi Azure Synapse Analytics, określ konto magazynu używane do przemieszczania programu PolyBase.

Jeśli usługa Azure Storage jest skonfigurowana z punktem końcowym usługi sieci wirtualnej, musisz użyć uwierzytelniania tożsamości zarządzanej z włączoną funkcją "zezwalaj na zaufaną usługę firmy Microsoft" na koncie magazynu, zapoznaj się z tematem Wpływ używania punktów końcowych usługi sieci wirtualnej z usługą Azure Storage. Poznaj również wymagane konfiguracje odpowiednio usług Azure Blob i Azure Data Lake Storage Gen2 .
LinkedServiceReference Tylko wtedy, gdy przepływ danych odczytuje lub zapisuje w usłudze Azure Synapse Analytics
staging.folderPath Jeśli używasz źródła lub ujścia usługi Azure Synapse Analytics, ścieżka folderu na koncie magazynu obiektów blob używanym do przemieszczania technologii PolyBase String Tylko wtedy, gdy przepływ danych odczytuje lub zapisuje w usłudze Azure Synapse Analytics
Tracelevel Ustawianie poziomu rejestrowania wykonywania działań przepływu danych Grzywna, Gruba, Brak Nie.

Wykonywanie Przepływ danych

Dynamiczne ustawianie rozmiaru obliczeniowego przepływu danych w czasie wykonywania

Właściwości Liczba rdzeni i Typ obliczeniowy można ustawić dynamicznie, aby dostosować rozmiar przychodzących danych źródłowych w czasie wykonywania. Użyj działań potoku, takich jak Wyszukiwanie lub Pobieranie metadanych, aby znaleźć rozmiar danych źródłowego zestawu danych. Następnie użyj polecenia Dodaj zawartość dynamiczną we właściwościach działania Przepływ danych. Możesz wybrać małe, średnie lub duże rozmiary obliczeniowe. Opcjonalnie wybierz opcję "Niestandardowy" i ręcznie skonfiguruj typy obliczeniowe i liczbę rdzeni.

Przepływ danych dynamiczna

Oto krótki samouczek wideo wyjaśniający tę technikę

Przepływ danych Integration Runtime

Wybierz środowisko Integration Runtime do użycia na potrzeby wykonywania działań Przepływ danych. Domyślnie usługa używa środowiska Azure Integration Runtime autoresolve z czterema rdzeniami procesu roboczego. To środowisko IR ma typ obliczeniowy ogólnego przeznaczenia i działa w tym samym regionie co wystąpienie usługi. W przypadku potoków zoperacjonalizowanych zdecydowanie zaleca się utworzenie własnych środowisk Azure Integration Runtime, które definiują określone regiony, typ obliczeniowy, liczbę rdzeni i czas wygaśnięcia dla wykonywania działań przepływu danych.

Minimalny typ obliczeniowy ogólnego przeznaczenia z konfiguracją 8+8 (łącznie 16 rdzeni wirtualnych) i 10-minutowym czasem wygaśnięcia (TTL) jest minimalnym zaleceniem dla większości obciążeń produkcyjnych. Ustawiając mały czas wygaśnięcia, środowisko Azure IR może obsługiwać ciepły klaster, który nie spowoduje naliczenie kilku minut czasu rozpoczęcia klastra zimnego. Aby uzyskać więcej informacji, zobacz Azure Integration Runtime.

Azure Integration Runtime

Ważne

Wybór środowiska Integration Runtime w działaniu Przepływ danych dotyczy tylko wyzwolonych wykonań potoku. Debugowanie potoku przy użyciu przepływów danych jest uruchamiane w klastrze określonym w sesji debugowania.

PolyBase

Jeśli używasz usługi Azure Synapse Analytics jako ujścia lub źródła, musisz wybrać lokalizację przejściową dla obciążenia wsadowego programu PolyBase. Technologia PolyBase umożliwia zbiorcze ładowanie wsadowe zamiast ładowania wiersz po wierszu danych. Program PolyBase znacząco skraca czas ładowania do usługi Azure Synapse Analytics.

Klucz punktu kontrolnego

W przypadku korzystania z opcji przechwytywania zmian dla źródeł przepływu danych usługa ADF automatycznie obsługuje punkt kontrolny i zarządza nim. Domyślny klucz punktu kontrolnego to skrót nazwy przepływu danych i nazwy potoku. Jeśli używasz wzorca dynamicznego dla tabel źródłowych lub folderów, możesz zastąpić ten skrót i ustawić w tym miejscu własną wartość klucza punktu kontrolnego.

Poziom rejestrowania

Jeśli nie potrzebujesz każdego wykonania potoku działań przepływu danych, aby w pełni rejestrować wszystkie pełne dzienniki telemetrii, możesz opcjonalnie ustawić poziom rejestrowania na "Podstawowy" lub "Brak". Podczas wykonywania przepływów danych w trybie pełnej (ustawienie domyślne) żądasz, aby usługa w pełni rejestrowała aktywność na każdym poziomie poszczególnych partycji podczas przekształcania danych. Może to być kosztowna operacja, więc włączenie pełnej informacji podczas rozwiązywania problemów może poprawić ogólny przepływ danych i wydajność potoku. Tryb "Podstawowy" rejestruje tylko czasy trwania transformacji, podczas gdy "Brak" zawiera tylko podsumowanie czasów trwania.

Poziom rejestrowania

Właściwości ujścia

Funkcja grupowania w przepływach danych umożliwia zarówno ustawienie kolejności wykonywania ujścia, jak i grupowanie ujść razem przy użyciu tej samej liczby grupy. Aby ułatwić zarządzanie grupami, możesz poprosić usługę o równoległe uruchamianie ujścia w tej samej grupie. Możesz również ustawić grupę ujścia, aby kontynuować nawet po wystąpieniu jednego z ujściów błędu.

Domyślnym zachowaniem ujścia przepływu danych jest wykonanie każdego ujścia sekwencyjnie, w sposób szeregowy i niepowodzenie przepływu danych w przypadku wystąpienia błędu w ujściu. Ponadto wszystkie ujścia są domyślne dla tej samej grupy, chyba że przejdziesz do właściwości przepływu danych i ustawisz różne priorytety ujścia.

Właściwości ujścia

Tylko pierwszy wiersz

Ta opcja jest dostępna tylko dla przepływów danych, które mają włączone ujścia pamięci podręcznej dla "Dane wyjściowe do działania". Dane wyjściowe przepływu danych, który jest wstrzykiwany bezpośrednio do potoku, jest ograniczony do 2 MB. Ustawienie "tylko pierwszego wiersza" pomaga ograniczyć dane wyjściowe z przepływu danych podczas wstrzykiwania danych wyjściowych działania przepływu danych bezpośrednio do potoku.

Parametryzacja Przepływ danych

Sparametryzowane zestawy danych

Jeśli przepływ danych używa sparametryzowanych zestawów danych, ustaw wartości parametrów na karcie Ustawienia.

Wykonywanie parametrów Przepływ danych

Parametryzowane przepływy danych

Jeśli przepływ danych jest sparametryzowany, ustaw wartości dynamiczne parametrów przepływu danych na karcie Parametry . Możesz użyć języka wyrażeń potoku lub języka wyrażeń przepływu danych, aby przypisać wartości parametrów dynamicznych lub literałów. Aby uzyskać więcej informacji, zobacz parametry Przepływ danych.

Sparametryzowane właściwości obliczeniowe.

Możesz sparametryzować liczbę rdzeni lub typ obliczeniowy, jeśli używasz środowiska Azure Integration Runtime autoresolve i określ wartości parametrów compute.coreCount i compute.computeType.

Przykład wykonania parametru Przepływ danych

Debugowanie potoku działania Przepływ danych

Aby wykonać uruchomienie potoku debugowania przy użyciu działania Przepływ danych, należy włączyć tryb debugowania przepływu danych za pomocą suwaka Przepływ danych Debuguj na górnym pasku. Tryb debugowania umożliwia uruchamianie przepływu danych względem aktywnego klastra Spark. Aby uzyskać więcej informacji, zobacz Tryb debugowania.

Zrzut ekranu przedstawiający miejsce, w którym znajduje się przycisk Debuguj

Potok debugowania jest uruchamiany względem aktywnego klastra debugowania, a nie środowiska Integration Runtime określonego w ustawieniach działania Przepływ danych. Podczas uruchamiania trybu debugowania możesz wybrać środowisko obliczeniowe debugowania.

Monitorowanie działania Przepływ danych

Działanie Przepływ danych ma specjalne środowisko monitorowania, w którym można wyświetlać informacje dotyczące partycjonowania, czasu etapu i pochodzenia danych. Otwórz okienko monitorowania za pomocą ikony okularów w obszarze Akcje. Aby uzyskać więcej informacji, zobacz Monitorowanie Przepływ danych.

Użycie działania Przepływ danych powoduje kolejne działanie

Działanie przepływu danych generuje metryki dotyczące liczby wierszy zapisanych w ujściu i wierszach odczytanych z każdego źródła. Te wyniki są zwracane w output sekcji wyniku uruchomienia działania. Zwrócone metryki są w formacie poniższego kodu json.

{
    "runStatus": {
        "metrics": {
            "<your sink name1>": {
                "rowsWritten": <number of rows written>,
                "sinkProcessingTime": <sink processing time in ms>,
                "sources": {
                    "<your source name1>": {
                        "rowsRead": <number of rows read>
                    },
                    "<your source name2>": {
                        "rowsRead": <number of rows read>
                    },
                    ...
                }
            },
            "<your sink name2>": {
                ...
            },
            ...
        }
    }
}

Aby na przykład uzyskać liczbę wierszy zapisanych w ujściu o nazwie "sink1" w działaniu o nazwie "dataflowActivity", użyj polecenia @activity('dataflowActivity').output.runStatus.metrics.sink1.rowsWritten.

Aby uzyskać liczbę wierszy odczytanych ze źródła o nazwie "source1", które zostało użyte w tym ujściu, użyj polecenia @activity('dataflowActivity').output.runStatus.metrics.sink1.sources.source1.rowsRead.

Uwaga

Jeśli ujście zawiera zero zapisanych wierszy, nie będzie ono wyświetlane w metrykach. Istnienie można zweryfikować przy użyciu contains funkcji . Na przykład sprawdza, contains(activity('dataflowActivity').output.runStatus.metrics, 'sink1') czy wszystkie wiersze zostały zapisane w ujściu 1.

Zobacz obsługiwane działania przepływu sterowania: