O que são fluxos de dados de mapeamento?What are mapping data flows?

O mapeamento de fluxos de dados são transformações de dados visualmente projetadas em Azure Data Factory.Mapping data flows are visually designed data transformations in Azure Data Factory. Os fluxos de dados permitem que os engenheiros de dados desenvolvam a lógica de transformação de dados gráficos sem escrever código.Data flows allow data engineers to develop graphical data transformation logic without writing code. Os fluxos de dados resultantes são executados como atividades dentro de Azure Data Factory pipelines que usam clusters Spark expandidos.The resulting data flows are executed as activities within Azure Data Factory pipelines that use scaled-out Spark clusters. As atividades de fluxo de dados podem ser operadas por meio de recursos de agendamento, controle, fluxo e monitoramento existentes de Data Factory.Data flow activities can be operationalized via existing Data Factory scheduling, control, flow, and monitoring capabilities.

O mapeamento de fluxos de dados fornece uma experiência totalmente visual sem a necessidade de codificação.Mapping data flows provide a fully visual experience with no coding required. Seus fluxos de dados serão executados em seu próprio cluster de execução para processamento de dados expandido.Your data flows will run on your own execution cluster for scaled-out data processing. Azure Data Factory manipula toda a conversão de código, a otimização de caminho e a execução de seus trabalhos de fluxo de dados.Azure Data Factory handles all the code translation, path optimization, and execution of your data flow jobs.

IntroduçãoGetting started

Para criar um fluxo de dados, selecione o sinal de adição em recursos de fábricae, em seguida, selecione fluxo de dados.To create a data flow, select the plus sign under Factory Resources, and then select Data Flow.

Novo fluxo de dadosNew data flow

Isso levará você para a tela de fluxo de dados, na qual você pode criar a lógica de transformação.This takes you to the data flow canvas where you can create your transformation logic. Selecione Adicionar origem para começar a configurar sua transformação de origem.Select Add source to start configuring your source transformation. Para obter mais informações, consulte Source Transformation.For more information, see Source transformation.

Tela de fluxo de dadosData flow canvas

A tela de fluxo de dados é separada em três partes: a barra superior, o grafo e o painel de configuração.The data flow canvas is separated into three parts: the top bar, the graph, and the configuration panel.

CanvasCanvas

GraphGraph

O grafo exibe o fluxo de transformação.The graph displays the transformation stream. Ele mostra a linhagem dos dados de origem conforme eles fluem em um ou mais coletores.It shows the lineage of source data as it flows into one or more sinks. Para adicionar uma nova origem, selecione Adicionar origem.To add a new source, select Add source. Para adicionar uma nova transformação, selecione o sinal de adição no canto inferior direito de uma transformação existente.To add a new transformation, select the plus sign on the lower right of an existing transformation.

CanvasCanvas

Propriedades de fluxo de dados do Azure Integration RuntimeAzure integration runtime data flow properties

Botão de depuraçãoDebug button

Ao começar a trabalhar com fluxos de dados no ADF, você desejará ativar a opção de "depuração" para fluxos de dados na parte superior da interface do usuário do navegador.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. Isso fará com que um cluster de Azure Databricks seja girado para uso para depuração interativa, visualizações de dados e execuções de depuração de pipeline.This will spin-up an Azure Databricks cluster to use for interactive debugging, data previews, and pipeline debug executions. Você pode definir o tamanho do cluster que está sendo utilizado escolhendo um Azure Integration Runtimepersonalizado.You can set the size of the cluster being utilized by choosing a custom Azure Integration Runtime. A sessão de depuração permanecerá ativa por até 60 minutos após a última visualização de dados ou a última execução do pipeline de depuração.The debug session will stay alive for up to 60 minutes after your last data preview or last debug pipeline execution.

Quando você colocar seus pipelines em operação com atividades de fluxo de dados, o ADF usará o Azure Integration Runtime associado à atividade na propriedade "executar em".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.

O Azure Integration Runtime padrão é um cluster de nó de trabalho único de 4 núcleos, destinado a permitir a visualização de dados e a execução rápida de pipelines de depuração com custos mínimos.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. Defina uma configuração de Azure IR maior se você estiver executando operações em grandes conjuntos de altos.Set a larger Azure IR configuration if you are performing operations against large datasets.

Você pode instruir o ADF a manter um pool de recursos de cluster (VMs) definindo um TTL na Azure IR Propriedades de fluxo de dados.You can instruct ADF to maintain a pool of cluster resources (VMs) by setting a TTL in the Azure IR data flow properties. Isso resultará em uma execução de trabalho mais rápida nas atividades subsequentes.This will result in faster job execution on subsequent activities.

Tempo de execução de integração do Azure e estratégias de fluxo de dadosAzure integration runtime and data flow strategies

Executar fluxos de dados em paraleloExecute data flows in parallel

Se você executar fluxos de dados em um pipeline em paralelo, o ADF girará Azure Databricks clusters separados para cada execução de atividade com base nas configurações de sua Azure Integration Runtime anexadas a cada atividade.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. Para criar execuções paralelas em pipelines do ADF, adicione suas atividades de fluxo de dados sem restrições de precedência na interface do usuário.To design parallel executions in ADF pipelines, add your data flow activities without precedence constraints in the UI.

Dessas três opções, essa opção provavelmente será executada no menor período de tempo.Of these three options, this option will likely execute in the shortest amount of time. No entanto, cada fluxo de dados paralelo será executado ao mesmo tempo em clusters separados, de modo que a ordem dos eventos é não determinística.However, each parallel data flow will execute at the same time on separate clusters, so the ordering of events is non-deterministic.

Sobrecarga de fluxo de dados únicoOverload single data flow

Se você colocar toda a lógica dentro de um único fluxo de dados, o ADF será executado no mesmo contexto de execução de trabalho em uma única instância de cluster do 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.

Essa opção pode ser mais difícil de seguir e solucionar problemas, pois suas regras de negócios e a lógica de negócios serão amontoadodas juntas.This option can possibly be more difficult to follow and troubleshoot because your business rules and business logic will be jumble together. Essa opção também não fornece muita reutilização.This option also doesn't provide much re-usability.

Executar fluxos de dados em sérieExecute data flows serially

Se você executar suas atividades de fluxo de dados em série no pipeline e tiver definido um TTL na configuração de Azure IR, o ADF reutilizará os recursos de computação (VMs) resultando em tempos de execução subsequentes mais rápidos.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. Você ainda receberá um novo contexto do Spark para cada execução.You will still receive a new Spark context for each execution.

Dessas três opções, provavelmente levará o tempo mais longo para ser executado de ponta a ponta.Of these three options, this will likely take the longest time to execute end-to-end. Mas ele fornece uma separação limpa das operações lógicas em cada etapa do fluxo de dados.But it does provide a clean separation of logical operations in each data flow step.

Painel de configuraçãoConfiguration panel

O painel de configuração mostra as configurações específicas para a transformação selecionada no momento.The configuration panel shows the settings specific to the currently selected transformation. Se nenhuma transformação for selecionada, ela mostrará o fluxo de dados.If no transformation is selected, it shows the data flow. Na configuração geral do fluxo de dados, você pode editar o nome e a descrição na guia geral ou adicionar parâmetros por meio da guia parâmetros . Para obter mais informações, consulte mapeando parâmetros de fluxo de dados.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.

Cada transformação tem pelo menos quatro guias de configuração.Each transformation has at least four configuration tabs.

Configurações de transformaçãoTransformation settings

A primeira guia em cada painel de configuração de transformação contém as configurações específicas para essa transformação.The first tab in each transformation's configuration pane contains the settings specific to that transformation. Para obter mais informações, consulte a página de documentação da transformação.For more information, see that transformation's documentation page.

Guia Configurações de origemSource settings tab

OtimizarOptimize

A guia otimizar contém configurações para configurar esquemas de particionamento.The Optimize tab contains settings to configure partitioning schemes.

OptimizeOptimize

A configuração padrão é usar particionamento atual, o que instrui Azure data Factory a usar o esquema de particionamento nativo para fluxos de dados em execução no 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. Na maioria dos cenários, recomendamos essa configuração.In most scenarios, we recommend this setting.

Há instâncias em que você talvez queira ajustar o particionamento.There are instances where you might want to adjust the partitioning. Por exemplo, se você quiser gerar suas transformações em um único arquivo no Lake, selecione partição única em uma transformação coletor.For instance, if you want to output your transformations to a single file in the lake, select Single partition in a sink transformation.

Outro caso em que você talvez queira controlar os esquemas de particionamento é otimizar o desempenho.Another case where you might want to control the partitioning schemes is optimizing performance. Ajustar o particionamento fornece controle sobre a distribuição de seus dados em nós de computação e otimizações de localidade de dados que podem ter efeitos positivos e negativos no desempenho geral do fluxo de dados.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. Para obter mais informações, consulte o Guia de desempenho do fluxo de dados.For more information, see the Data flow performance guide.

Para alterar o particionamento em qualquer transformação, selecione a guia otimizar e selecione o botão de opção definir particionamento .To change the partitioning on any transformation, select the Optimize tab and select the Set Partitioning radio button. Em seguida, será apresentada uma série de opções de particionamento.You'll then be presented with a series of options for partitioning. O melhor método de particionamento será diferente com base em seus volumes de dados, chaves candidatas, valores nulos e cardinalidade.The best method of partitioning will differ based on your data volumes, candidate keys, null values, and cardinality.

Uma prática recomendada é começar com o particionamento padrão e, em seguida, tentar diferentes opções de particionamento.A best practice is to start with default partitioning and then try different partitioning options. Você pode testar usando execuções de depuração de pipeline e exibir o tempo de execução e o uso de partição em cada Agrupamento de transformação na exibição monitoramento.You can test by using pipeline debug runs, and view execution time and partition usage in each transformation grouping from the monitoring view. Para obter mais informações, consulte monitorando fluxos de dados.For more information, see Monitoring data flows.

As seguintes opções de particionamento estão disponíveis.The following partitioning options are available.

Round RobinRound robin

Round Robin é uma partição simples que distribui automaticamente os dados igualmente entre as partições.Round robin is a simple partition that automatically distributes data equally across partitions. Use round robin quando você não tiver bons candidatos importantes para implementar uma estratégia sólida de particionamento inteligente.Use round robin when you don't have good key candidates to implement a solid, smart partitioning strategy. Você pode definir o número de partições físicas.You can set the number of physical partitions.

HashHash

Azure Data Factory produzirá um hash de colunas para produzir partições uniformes, de modo que as linhas com valores semelhantes se enquadrarão na mesma partição.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. Ao usar a opção de hash, teste a possível distorção de partição.When you use the Hash option, test for possible partition skew. Você pode definir o número de partições físicas.You can set the number of physical partitions.

Intervalo dinâmicoDynamic range

O intervalo dinâmico usará intervalos dinâmicos do Spark com base nas colunas ou expressões que você fornecer.Dynamic range will use Spark dynamic ranges based on the columns or expressions that you provide. Você pode definir o número de partições físicas.You can set the number of physical partitions.

Intervalo fixoFixed range

Crie uma expressão que forneça um intervalo fixo para valores em suas colunas de dados particionados.Build an expression that provides a fixed range for values within your partitioned data columns. Para evitar a distorção de partição, você deve ter uma boa compreensão dos seus dados antes de usar essa opção.To avoid partition skew, you should have a good understanding of your data before you use this option. Os valores inseridos para a expressão serão usados como parte de uma função de partição.The values you enter for the expression will be used as part of a partition function. Você pode definir o número de partições físicas.You can set the number of physical partitions.

ChaveKey

Se você tiver uma boa compreensão da cardinalidade de seus dados, o particionamento de chave poderá ser uma boa estratégia.If you have a good understanding of the cardinality of your data, key partitioning might be a good strategy. O particionamento de chave criará partições para cada valor exclusivo em sua coluna.Key partitioning will create partitions for each unique value in your column. Você não pode definir o número de partições porque o número será baseado em valores exclusivos nos dados.You can't set the number of partitions because the number will be based on unique values in the data.

QuantoInspect

A guia inspecionar fornece uma exibição dos metadados do fluxo de dados que você está transformando.The Inspect tab provides a view into the metadata of the data stream that you're transforming. Você pode ver as contagens de colunas, as colunas alteradas, as colunas adicionadas, os tipos de dados, a ordenação de colunas e as referências de coluna.You can see the column counts, columns changed, columns added, data types, column ordering, and column references. Inspecionar é uma exibição somente leitura de seus metadados.Inspect is a read-only view of your metadata. Você não precisa ter o modo de depuração habilitado para ver os metadados no painel inspecionar .You don't need to have debug mode enabled to see metadata in the Inspect pane.

QuantoInspect

Ao alterar a forma de seus dados por meio de transformações, você verá o fluxo de alterações de metadados no painel inspecionar .As you change the shape of your data through transformations, you'll see the metadata changes flow in the Inspect pane. Se não houver um esquema definido em sua transformação de origem, os metadados não estarão visíveis no painel inspecionar .If there isn't a defined schema in your source transformation, then metadata won't be visible in the Inspect pane. A falta de metadados é comum em cenários de descompasso de esquema.Lack of metadata is common in schema drift scenarios.

Visualização de dadosData preview

Se o modo de depuração estiver ativado, a guia visualização de dados fornecerá um instantâneo interativo dos dados em cada transformação.If debug mode is on, the Data Preview tab gives you an interactive snapshot of the data at each transform. Para obter mais informações, consulte visualização de dados em modo de depuração.For more information, see Data preview in debug mode.

Barra superiorTop bar

A barra superior contém ações que afetam todo o fluxo de dados, como salvar e validar.The top bar contains actions that affect the whole data flow, like saving and validation. Você também pode alternar entre modos de gráfico e de configuração usando os botões Mostrar grafo e ocultar grafo .You can also toggle between graph and configuration modes by using the Show Graph and Hide Graph buttons.

Ocultar grafoHide graph

Se você ocultar o grafo, poderá navegar pelos nós de transformação posteriormente por meio dos botões anterior e próximo .If you hide your graph, you can browse through your transformation nodes laterally via the Previous and Next buttons.

Botões anterior e próximoPrevious and next buttons

Passos seguintesNext steps