Udostępnij za pośrednictwem


Działanie przepływu danych w usługach Azure Data Factory i Azure Synapse Analytics

DOTYCZY: Azure Data Factory Azure Synapse Analytics

Wskazówka

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 Data Flow, aby przekształcić i przenieść dane za pośrednictwem przepływów mapowania danych. Jeśli dopiero zaczynasz korzystać z przepływów danych, zobacz Omówienie mapowania przepływu danych

Utwórz działanie przepływu 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ływu danych na kanwie, jeśli nie zostało jeszcze wybrane, a jego kartę Ustawienia, by edytować 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 kombinacji "nazwa potoku + nazwa działania", aby można było zawsze śledzić stan przechwytywania zmian danych klienta, nawet w przypadku jakichkolwiek akcji zmiany nazwy. Wszystkie istniejące aktywności przepływu danych używają starego klucza wzorca dla zapewnienia zgodności wstecznej. Opcja klucza punktu kontrolnego po opublikowaniu nowej aktywności przepływu danych, w której zasób ma włączone przechwytywanie zmian w danych, jest pokazana poniżej.

    Pokazuje interfejs użytkownika działania przepływu 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 Wymagane
przepływ danych Odwołanie do wykonywanego przepływu danych DataFlowReference Tak
integrationRuntime Środowisko obliczeniowe, na których działa przepływ danych. Jeśli nie zostanie to określone, zostanie użyte środowisko uruchomieniowe Azure Integration Runtime z funkcją autoresolve. IntegrationRuntimeReference Nie.
compute.coreCount Liczba rdzeni używanych w klastrze Spark. Można to określić tylko wtedy, gdy używane jest środowisko uruchomieniowe Azure Integration Runtime autoresolve. 8, 16, 32, 48, 80, 144, 272 Nie.
compute.typObliczeń Typ technologii obliczeniowej używanej w klastrze Spark. Można określić tylko wtedy, gdy używane jest środowisko uruchomieniowe Azure Integration autoresolve "Ogólne" Nie.
staging.linkedService Jeśli używasz źródła lub odbiornika usługi Azure Synapse Analytics, określ konto magazynowe używane do etapowania PolyBase.

Jeśli usługa Azure Storage jest skonfigurowana z punktem końcowym VNet, należy użyć uwierzytelniania tożsamości zarządzanej z włączoną opcją „zezwalaj na zaufane usługi 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 do usługi 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 etapowania 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 Drobne, Grube, Brak Nie.

Wykonaj 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 dynamicznych

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

Środowisko wykonawcze integracji Data Flow

Wybierz środowisko uruchomieniowe integracji do wykonania zadania Przepływ danych. Domyślnie usługa używa środowiska wykonawczego Azure Integration Runtime z funkcją autoresolve oraz czterema rdzeniami procesorów roboczych. ** To IR ma typ obliczeń ogólnego przeznaczenia i działa w tym samym regionie, co instancja usługi. W przypadku zoperacjonalizowanych potoków zdecydowanie zaleca się utworzenie własnych środowisk uruchomieniowych integracji Azure, które określają konkretne regiony, typ obliczeniowy, liczbę rdzeni i czas życia 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 życia (TTL) jest minimalnym zaleceniem dla większości obciążeń produkcyjnych. Ustawiając krótki czas życia (TTL), środowisko Azure IR może utrzymywać klaster w cieple, który nie wymaga kilku minut na uruchomienie jak w przypadku klastra zimnego. Aby uzyskać więcej informacji, zobacz Azure Integration Runtime.

Azure Integration Runtime

Ważne

Wybór środowiska uruchomieniowego Integration Runtime w działaniu Przepływu danych dotyczy tylko wykonywania uruchomionego potoku. Debugowanie potoku za pomocą przepływów danych działa na 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 ładowanie wsadowe zamiast ładowania danych wiersz po wierszu. 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, aby każde wykonanie potoku przepływu danych rejestrowało szczegółowe dzienniki telemetrii, możesz ustawić poziom rejestrowania na "Podstawowy" lub "Brak". Podczas wykonywania przepływów danych w trybie szczegółowym (ustawienie domyślne) żądasz, aby usługa w pełni rejestrowała aktywność na poziomie poszczególnych partycji podczas przekształcania danych. Może to być kosztowna operacja, dlatego warto włączać tryb szczegółowy tylko podczas rozwiązywania problemów, co 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ę odbiorników, aby kontynuować nawet po wystąpieniu błędu w jednym z odbiorników.

Domyślnym zachowaniem odbiorników przepływu danych jest ich wykonywanie szeregowo i przerwanie przepływu danych w przypadku wystąpienia błędu w odbiorniku. 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óre są wstrzykiwane bezpośrednio do potoku, są ograniczone do 2 MB. Ustawienie "tylko pierwszego wiersza" pomaga ograniczyć dane wyjściowe przepływu danych podczas przesyłania wyników działania przepływu danych bezpośrednio do potoku.

Parametryzacja Przepływów Danych

Sparametryzowane zestawy danych

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

Wykonaj parametry przepływu danych

Parametryzowane przepływy danych

Jeśli przepływ danych jest sparametryzowany, określ dynamiczne wartości parametrów przepływu danych w zakładce Parametry. Możesz użyć języka wyrażeń dla 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 aktywności Przepływu Danych

Aby uruchomić potok debugowania przy użyciu aktywności przepływu danych, należy włączyć tryb debugowania przepływu danych za pomocą suwaka Data Flow Debug na górnym pasku. Tryb debugowania umożliwia uruchamianie przepływu danych na aktywnym klastrze 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 na aktywnym klastrze debugowania, a nie w środowisku Integration Runtime określonym w ustawieniach działania Data Flow. Podczas uruchamiania trybu debugowania możesz wybrać środowisko obliczeniowe debugowania.

Monitorowanie aktywności przepływu 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ów 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 sekcji output rezultatu uruchomienia aktywności. 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 celu, użyj @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 contains(activity('dataflowActivity').output.runStatus.metrics, 'sink1') sprawdza, czy jakiekolwiek wiersze zostały zapisane w sink1.

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