Czym są przepływy danych mapowania?What are mapping data flows?

Mapowanie przepływów danych to wizualnie zaprojektowane przekształcenia danych w Azure Data Factory.Mapping data flows are visually designed data transformations in Azure Data Factory. Przepływy danych umożliwiają inżynierom danych Tworzenie logiki transformacji danych graficznych bez pisania kodu.Data flows allow data engineers to develop graphical data transformation logic without writing code. Wyniki przepływów danych są wykonywane jako działania w ramach potoków Azure Data Factory, które używają skalowanych klastrów Spark.The resulting data flows are executed as activities within Azure Data Factory pipelines that use scaled-out Spark clusters. Działania związane z przepływem danych mogą być operacyjne za pośrednictwem istniejących Data Factory planowania, kontroli, przepływu i monitorowania.Data flow activities can be operationalized via existing Data Factory scheduling, control, flow, and monitoring capabilities.

Mapowanie przepływów danych zapewnia w pełni wizualne środowisko, bez konieczności kodowania.Mapping data flows provide a fully visual experience with no coding required. Przepływy danych zostaną uruchomione we własnym klastrze wykonawczym na potrzeby przetwarzania danych skalowanych w poziomie.Your data flows will run on your own execution cluster for scaled-out data processing. Azure Data Factory obsługuje wszystkie tłumaczenia kodu, optymalizację ścieżki i wykonywanie zadań przepływu danych.Azure Data Factory handles all the code translation, path optimization, and execution of your data flow jobs.

WprowadzenieGetting started

Aby utworzyć przepływ danych, wybierz znak plus w obszarze zasoby fabryki, a następnie wybierz pozycję przepływ danych.To create a data flow, select the plus sign under Factory Resources, and then select Data Flow.

Nowy przepływ danychNew data flow

Spowoduje to przejście do kanwy przepływu danych, w której można utworzyć logikę transformacji.This takes you to the data flow canvas where you can create your transformation logic. Wybierz pozycję Dodaj źródło , aby rozpocząć konfigurowanie transformacji źródłowej.Select Add source to start configuring your source transformation. Aby uzyskać więcej informacji, zobacz Źródło transformacji.For more information, see Source transformation.

Kanwa przepływu danychData flow canvas

Kanwa przepływu danych jest podzielony na trzy części: górny pasek, wykres i panel konfiguracja.The data flow canvas is separated into three parts: the top bar, the graph, and the configuration panel.

PrzestrzeńCanvas

GrafGraph

Wykres przedstawia strumień transformacji.The graph displays the transformation stream. Pokazuje on dane źródłowe w miarę ich przepływu w jednym lub większej liczbie zlewów.It shows the lineage of source data as it flows into one or more sinks. Aby dodać nowe źródło, wybierz pozycję Dodaj źródło.To add a new source, select Add source. Aby dodać nową transformację, wybierz znak plus w prawym dolnym rogu istniejącej transformacji.To add a new transformation, select the plus sign on the lower right of an existing transformation.

PrzestrzeńCanvas

Właściwości przepływu danych środowiska Azure Integration RuntimeAzure integration runtime data flow properties

Przycisk DebugujDebug button

Po rozpoczęciu pracy z przepływami danych w podajniku APD należy włączyć przełącznik "Debuguj" dla przepływów danych w górnej części interfejsu użytkownika przeglądarki.When you begin working with data flows in ADF, you will want to turn on the "Debug" switch for data flows at the top of the browser UI. Spowoduje to przeprowadzenie Azure Databricks klastra do użycia na potrzeby debugowania interaktywnego, podglądów danych i wykonań debugowania potoku.This will spin-up an Azure Databricks cluster to use for interactive debugging, data previews, and pipeline debug executions. Możesz ustawić rozmiar używanego klastra, wybierając niestandardową Azure Integration Runtime.You can set the size of the cluster being utilized by choosing a custom Azure Integration Runtime. Sesja debugowania pozostanie aktywna przez nawet 60 minut od ostatniej wersji zapoznawczej danych lub ostatniego wykonania potoku debugowania.The debug session will stay alive for up to 60 minutes after your last data preview or last debug pipeline execution.

Gdy operacjonalizować potoki z działaniami przepływu danych, funkcja ADF będzie używać Azure Integration Runtime skojarzonych z działaniem we właściwości "Run on".When you operationalize your pipelines with data flow activities, ADF will use the Azure Integration Runtime associated with the activity in the "Run On" property.

Domyślny Azure Integration Runtime to niewielki klaster jednordzeniowego pojedynczego procesu roboczego, który umożliwia podgląd danych i szybkie wykonywanie potoków debugowania przy minimalnych kosztach.The default Azure Integration Runtime is a small 4-core single worker node cluster intended to allow you to preview data and quickly execute debug pipelines at minimal costs. Ustaw większą konfigurację Azure IR, jeśli wykonujesz operacje na dużych zestawach danych.Set a larger Azure IR configuration if you are performing operations against large datasets.

Można wydać polecenie ADF, aby zachować pulę zasobów klastra (maszyn wirtualnych) przez ustawienie czasu wygaśnięcia we właściwościach przepływu danych Azure IR.You can instruct ADF to maintain a pool of cluster resources (VMs) by setting a TTL in the Azure IR data flow properties. Spowoduje to przyspieszenie wykonywania zadań w kolejnych działaniach.This will result in faster job execution on subsequent activities.

Infrastruktura Azure Integration Runtime i strategie przepływu danychAzure integration runtime and data flow strategies

Równoległe wykonywanie przepływów danychExecute data flows in parallel

Jeśli przepływy danych są uruchamiane w potoku równolegle, ADF będzie oddzielić oddzielne klastry Azure Databricks dla każdego wykonywania działań na podstawie ustawień w Azure Integration Runtime dołączone do poszczególnych działań.If you execute data flows in a pipeline in parallel, ADF will spin-up separate Azure Databricks clusters for each activity execution based on the settings in your Azure Integration Runtime attached to each activity. Aby zaprojektować wykonywanie równoległe w potokach ADF, należy dodać działania przepływu danych bez ograniczeń pierwszeństwa w interfejsie użytkownika.To design parallel executions in ADF pipelines, add your data flow activities without precedence constraints in the UI.

Z tych trzech opcji, ta opcja prawdopodobnie zostanie wykonana w najkrótszym czasie.Of these three options, this option will likely execute in the shortest amount of time. Jednak każdy przepływ danych równoległych będzie wykonywany w tym samym czasie w osobnych klastrach, więc porządkowanie zdarzeń jest niedeterministyczne.However, each parallel data flow will execute at the same time on separate clusters, so the ordering of events is non-deterministic.

Przeciążanie pojedynczego przepływu danychOverload single data flow

Jeśli umieścisz całą logikę w ramach pojedynczego przepływu danych, moduł ADF będzie wykonywał ten sam kontekst wykonywania zadania w jednym wystąpieniu klastra Spark.If you put all of your logic inside a single data flow, ADF will all execute in that same job execution context on a single Spark cluster instance.

Ta opcja może być trudniejsza do obserwowania i rozwiązywania problemów, ponieważ reguły biznesowe i logika biznesowa będą Jumble razem.This option can possibly be more difficult to follow and troubleshoot because your business rules and business logic will be jumble together. Ta opcja nie zapewnia również wielu ponownej użyteczności.This option also doesn't provide much re-usability.

Wykonywanie przepływów danych w sposób szeregowyExecute data flows serially

Jeśli wykonujesz działania przepływu danych w ramach sekwencji w potoku i ustawisz wartość czasu wygaśnięcia dla konfiguracji Azure IR, usługa ADF będzie ponownie używała zasobów obliczeniowych (maszyn wirtualnych) w krótszym czasie.If you execute your data flow activities in serial in the pipeline and you have set a TTL on the Azure IR configuration, then ADF will reuse the compute resources (VMs) resulting in faster subsequent execution times. W każdym wykonaniu będzie nadal wyświetlany nowy kontekst platformy Spark.You will still receive a new Spark context for each execution.

Z tych trzech opcji prawdopodobnie trwa najdłuższy czas do wykonania.Of these three options, this will likely take the longest time to execute end-to-end. Ale zapewnia czyste rozdzielenie operacji logicznych w każdym kroku przepływu danych.But it does provide a clean separation of logical operations in each data flow step.

Panel konfiguracjiConfiguration panel

Panel konfiguracja przedstawia ustawienia specyficzne dla aktualnie wybranego przekształcenia.The configuration panel shows the settings specific to the currently selected transformation. Jeśli żadna transformacja nie jest zaznaczona, przepływ danych zostanie wyświetlony.If no transformation is selected, it shows the data flow. W ogólnej konfiguracji przepływu danych można edytować nazwę i opis na karcie Ogólne lub dodać parametry za pomocą karty Parametry . Aby uzyskać więcej informacji, zobacz Mapowanie parametrów przepływu danych.In the overall data flow configuration, you can edit the name and description under the General tab or add parameters via the Parameters tab. For more information, see Mapping data flow parameters.

Każda transformacja ma co najmniej cztery karty konfiguracyjne.Each transformation has at least four configuration tabs.

Ustawienia transformacjiTransformation settings

Pierwsza karta w okienku Konfiguracja każdej transformacji zawiera ustawienia specyficzne dla tej transformacji.The first tab in each transformation's configuration pane contains the settings specific to that transformation. Aby uzyskać więcej informacji, zobacz stronę dokumentacji przekształcenia.For more information, see that transformation's documentation page.

Karta Ustawienia źródłaSource settings tab

OptymalizacjaOptimize

Karta Optymalizacja zawiera ustawienia umożliwiające skonfigurowanie schematów partycjonowania.The Optimize tab contains settings to configure partitioning schemes.

OptymalizacjaOptimize

Ustawieniem domyślnym jest użycie bieżącego partycjonowania, które instruuje Azure Data Factory, aby używać schematu partycjonowania natywnego dla przepływów danych uruchomionych w systemie Spark.The default setting is Use current partitioning, which instructs Azure Data Factory to use the partitioning scheme native to data flows running on Spark. W większości scenariuszy zalecamy to ustawienie.In most scenarios, we recommend this setting.

Istnieją wystąpienia, w których można chcieć dostosować partycjonowanie.There are instances where you might want to adjust the partitioning. Na przykład jeśli chcesz wyprowadzić przekształcenia do pojedynczego pliku w Lake, wybierz jedną partycję w transformacji ujścia.For instance, if you want to output your transformations to a single file in the lake, select Single partition in a sink transformation.

Innym przypadkiem, gdzie warto kontrolować schematy partycjonowania, jest Optymalizacja wydajności.Another case where you might want to control the partitioning schemes is optimizing performance. Dostosowanie partycjonowania zapewnia kontrolę nad dystrybucją danych między węzłami obliczeniowymi i optymalizacją lokalizacji danych, które mogą mieć pozytywne i negatywne skutki dla ogólnej wydajności przepływu danych.Adjusting the partitioning provides control over the distribution of your data across compute nodes and data locality optimizations that can have both positive and negative effects on your overall data flow performance. Aby uzyskać więcej informacji, zobacz Przewodnik po wydajności przepływu danych.For more information, see the Data flow performance guide.

Aby zmienić partycjonowanie na dowolnym przekształceniu, wybierz kartę Optymalizacja i wybierz przycisk radiowy Ustaw partycjonowanie .To change the partitioning on any transformation, select the Optimize tab and select the Set Partitioning radio button. Następnie zostanie wyświetlona seria opcji partycjonowania.You'll then be presented with a series of options for partitioning. Najlepsza Metoda partycjonowania różni się w zależności od ilości danych, kluczy kandydujących, wartości null i kardynalności.The best method of partitioning will differ based on your data volumes, candidate keys, null values, and cardinality.

Najlepszym rozwiązaniem jest rozpoczęcie od domyślnego partycjonowania, a następnie wypróbowanie innych opcji partycjonowania.A best practice is to start with default partitioning and then try different partitioning options. Testy można testować przy użyciu przebiegów debugowania potoku, a także wyświetlać czas wykonywania i korzystać z partycji w każdym grupowaniu transformacji z widoku monitorowanie.You can test by using pipeline debug runs, and view execution time and partition usage in each transformation grouping from the monitoring view. Aby uzyskać więcej informacji, zobacz monitorowanie przepływów danych.For more information, see Monitoring data flows.

Dostępne są następujące opcje partycjonowania.The following partitioning options are available.

Działania okrężneRound robin

Round Robin to prosta partycja, która automatycznie dystrybuuje dane równomiernie między partycjami.Round robin is a simple partition that automatically distributes data equally across partitions. Użyj działania okrężnego, gdy nie masz dobrych kandydatów kluczowych do wdrożenia pełnej, inteligentnej strategii partycjonowania.Use round robin when you don't have good key candidates to implement a solid, smart partitioning strategy. Można ustawić liczbę partycji fizycznych.You can set the number of physical partitions.

SkrótHash

Azure Data Factory spowoduje wygenerowanie skrótu kolumn w celu utworzenia jednorodnych partycji, takich jak wiersze o podobnych wartościach, będą się znajdować w tej samej partycji.Azure Data Factory will produce a hash of columns to produce uniform partitions such that rows with similar values will fall in the same partition. W przypadku korzystania z opcji skrótu Sprawdź możliwe pochylenie partycji.When you use the Hash option, test for possible partition skew. Można ustawić liczbę partycji fizycznych.You can set the number of physical partitions.

Zakres dynamicznyDynamic range

Zakres dynamiczny będzie używać dynamicznych zakresów platformy Spark na podstawie określonych kolumn lub wyrażeń.Dynamic range will use Spark dynamic ranges based on the columns or expressions that you provide. Można ustawić liczbę partycji fizycznych.You can set the number of physical partitions.

Stały zakresFixed range

Utwórz wyrażenie, które udostępnia stały zakres dla wartości w kolumnach danych partycjonowanych.Build an expression that provides a fixed range for values within your partitioned data columns. Aby uniknąć pochylenia partycji, przed użyciem tej opcji należy dobrze zrozumieć swoje dane.To avoid partition skew, you should have a good understanding of your data before you use this option. Wartości wprowadzone dla wyrażenia będą używane jako część funkcji partycji.The values you enter for the expression will be used as part of a partition function. Można ustawić liczbę partycji fizycznych.You can set the number of physical partitions.

KluczKey

Jeśli masz dobrą wiedzę o kardynalności danych, partycjonowanie kluczy może być dobrą strategią.If you have a good understanding of the cardinality of your data, key partitioning might be a good strategy. Partycjonowanie kluczy spowoduje utworzenie partycji dla każdej unikatowej wartości w kolumnie.Key partitioning will create partitions for each unique value in your column. Nie można ustawić liczby partycji, ponieważ liczba będzie oparta na unikatowych wartościach danych.You can't set the number of partitions because the number will be based on unique values in the data.

SkontrolInspect

Karta Inspekcja umożliwia wyświetlenie metadanych strumienia danych, który jest przekształcany.The Inspect tab provides a view into the metadata of the data stream that you're transforming. Widoczne są liczby kolumn, zmienione kolumny, kolumny dodane, typy danych, porządkowanie kolumn i odwołania do kolumn.You can see the column counts, columns changed, columns added, data types, column ordering, and column references. Inspekcja to widok metadanych w trybie tylko do odczytu.Inspect is a read-only view of your metadata. Nie musisz mieć włączonego trybu debugowania, aby wyświetlić metadane w okienku Inspekcja .You don't need to have debug mode enabled to see metadata in the Inspect pane.

SkontrolInspect

Gdy zmienisz kształt danych za pomocą transformacji, przepływ zmian metadanych zostanie wyświetlony w okienku Inspekcja .As you change the shape of your data through transformations, you'll see the metadata changes flow in the Inspect pane. Jeśli w transformacji źródłowej nie ma zdefiniowanego schematu, metadane nie będą widoczne w okienku Inspekcja .If there isn't a defined schema in your source transformation, then metadata won't be visible in the Inspect pane. Brak metadanych jest powszechny w scenariuszach dryfowania schematu.Lack of metadata is common in schema drift scenarios.

Podgląd danychData preview

Jeśli tryb debugowania jest włączony, karta Podgląd danych zapewnia interaktywną migawkę danych w każdej transformacji.If debug mode is on, the Data Preview tab gives you an interactive snapshot of the data at each transform. Aby uzyskać więcej informacji, zobacz Podgląd danych w trybie debugowania.For more information, see Data preview in debug mode.

Górny pasekTop bar

Górny pasek zawiera akcje, które mają wpływ na cały przepływ danych, takie jak zapisywanie i walidacja.The top bar contains actions that affect the whole data flow, like saving and validation. Można również przełączać się między trybami wykresu i konfiguracji za pomocą przycisków Pokaż wykres i Ukryj wykres .You can also toggle between graph and configuration modes by using the Show Graph and Hide Graph buttons.

Ukryj wykresHide graph

W przypadku ukrycia grafu można przeglądać węzły transformacji później za pomocą przycisków Wstecz i dalej .If you hide your graph, you can browse through your transformation nodes laterally via the Previous and Next buttons.

Przyciski poprzednie i następnePrevious and next buttons

Następne krokiNext steps