Transformation de la source d’un mappage de flux de donnéesSource transformation in mapping data flow

S’APPLIQUE À : Azure Data Factory Azure Synapse Analytics

Une transformation de la source configure votre source de données pour le flux de données.A source transformation configures your data source for the data flow. Lorsque vous concevez des flux de données, la première étape consiste toujours à configurer une transformation de source.When you design data flows, your first step is always configuring a source transformation. Pour ajouter une source, sélectionnez Ajouter une source dans le canevas de flux de données.To add a source, select the Add Source box in the data flow canvas.

Chaque flux de données nécessite au moins une transformation de source. Vous pouvez cependant ajouter autant de sources que nécessaire pour effectuer vos transformations de données.Every data flow requires at least one source transformation, but you can add as many sources as necessary to complete your data transformations. Vous pouvez joindre ces sources à l’aide d’une transformation de jointure, de recherche ou d’union.You can join those sources together with a join, lookup, or a union transformation.

Chaque transformation de source est associée à un jeu de données ou à un service lié unique.Each source transformation is associated with exactly one dataset or linked service. Le jeu de données définit la forme et l’emplacement des données que vous voulez lire ou écrire.The dataset defines the shape and location of the data you want to write to or read from. Si vous utilisez un jeu de données basé sur des fichiers, vous pouvez utiliser des caractères génériques et des listes de fichiers dans votre source pour utiliser plusieurs fichiers à la fois.If you use a file-based dataset, you can use wildcards and file lists in your source to work with more than one file at a time.

Jeux de données inlineInline datasets

Lorsque vous créez une transformation de source, vous devez d’abord décider si les informations de votre source doivent être définies dans un objet de jeu de données ou dans la transformation de source.The first decision you make when you create a source transformation is whether your source information is defined inside a dataset object or within the source transformation. La plupart des formats sont uniquement disponibles dans l’un ou l’autre.Most formats are available in only one or the other. Pour savoir comment utiliser un connecteur en particulier, référez-vous à la documentation le concernant.To learn how to use a specific connector, see the appropriate connector document.

Si un format est pris en charge à la fois inlined et dans les objets de jeu de données, notez que ces deux options présentent des avantages.When a format is supported for both inline and in a dataset object, there are benefits to both. Les objets de jeu de données sont des entités réutilisables qui peuvent être utilisées dans d’autres flux de données et activités telles que la copie.Dataset objects are reusable entities that can be used in other data flows and activities such as Copy. Ces entités réutilisables sont particulièrement utiles lorsque vous utilisez un schéma renforcé.These reusable entities are especially useful when you use a hardened schema. Les jeux de données ne sont pas basés sur Spark.Datasets aren't based in Spark. Il peut arriver que vous deviez remplacer certains paramètres ou la projection de schéma dans la transformation de source.Occasionally, you might need to override certain settings or schema projection in the source transformation.

Les jeux de données inlined sont recommandés lors de l’utilisation de schémas flexibles, d’instances sources uniques ou de sources paramétrables.Inline datasets are recommended when you use flexible schemas, one-off source instances, or parameterized sources. Si votre source est fortement paramétrée, les jeux de données inlined vous permettront de ne pas créer d’objet « factice ».If your source is heavily parameterized, inline datasets allow you to not create a "dummy" object. Les jeux de données inlined sont basés sur Spark et leurs propriétés sont natives au flux de données.Inline datasets are based in Spark, and their properties are native to data flow.

Pour utiliser un jeu de données inlined, sélectionnez le format de votre choix à l’aide du sélecteur Type de source.To use an inline dataset, select the format you want in the Source type selector. Au lieu de sélectionner un jeu de données source, sélectionnez le service lié auquel vous souhaitez vous connecter.Instead of selecting a source dataset, you select the linked service you want to connect to.

Screenshot that shows Inline selected.Screenshot that shows Inline selected.

Types de sources pris en chargeSupported source types

Le flux de données de mappage suit une approche basée sur l’extraction, le chargement et la transformation (ELT, extract, load, transform) et fonctionne avec des jeux de données intermédiaires qui se trouvent tous dans Azure.Mapping data flow follows an extract, load, and transform (ELT) approach and works with staging datasets that are all in Azure. Actuellement, les jeux de données suivants peuvent être utilisés dans une transformation de source.Currently, the following datasets can be used in a source transformation.

ConnecteurConnector FormatFormat Jeu de données/InlinedDataset/inline
Stockage Blob AzureAzure Blob Storage AvroAvro
Texte délimitéDelimited text
DeltaDelta
ExcelExcel
JSONJSON
ORCORC
ParquetParquet
XMLXML
✓/-✓/-
✓/-✓/-
-/✓-/✓
✓/✓✓/✓
✓/-✓/-
✓/✓✓/✓
✓/-✓/-
✓/✓✓/✓
Azure Cosmos DB (API SQL)Azure Cosmos DB (SQL API) ✓/-✓/-
Azure Data Lake Storage Gen1Azure Data Lake Storage Gen1 AvroAvro
Texte délimitéDelimited text
ExcelExcel
JSONJSON
ORCORC
ParquetParquet
XMLXML
✓/-✓/-
✓/-✓/-
✓/✓✓/✓
✓/-✓/-
✓/✓✓/✓
✓/-✓/-
✓/✓✓/✓
Azure Data Lake Storage Gen2Azure Data Lake Storage Gen2 AvroAvro
Common Data ModelCommon Data Model
Texte délimitéDelimited text
DeltaDelta
ExcelExcel
JSONJSON
ORCORC
ParquetParquet
XMLXML
✓/-✓/-
-/✓-/✓
✓/-✓/-
-/✓-/✓
✓/✓✓/✓
✓/-✓/-
✓/✓✓/✓
✓/-✓/-
✓/✓✓/✓
Base de données Azure pour PostgreSQLAzure Database for PostgreSQL ✓/✓✓/✓
Azure SQL DatabaseAzure SQL Database ✓/-✓/-
Azure SQL Managed Instance (préversion)Azure SQL Managed Instance (preview) ✓/-✓/-
Azure Synapse AnalyticsAzure Synapse Analytics ✓/-✓/-
HiveHive -/✓
SnowflakeSnowflake ✓/✓✓/✓

Les paramètres propres à ces connecteurs se trouvent sous l’onglet Options de la source. Vous trouverez des informations et des exemples de scripts de flux de données concernant ces paramètres dans la documentation relative aux connecteurs.Settings specific to these connectors are located on the Source options tab. Information and data flow script examples on these settings are located in the connector documentation.

Azure Data Factory a accès à plus de 90 connecteurs natifs.Azure Data Factory has access to more than 90 native connectors. Pour inclure dans votre flux de données des données provenant de ces autres sources, utilisez l’outil Copier l’activité pour charger ces données dans l’une des zones de transit prises en charge.To include data from those other sources in your data flow, use the Copy Activity to load that data into one of the supported staging areas.

Paramètres de la sourceSource settings

Une fois que vous avez ajouté une source, configurez-la dans l’onglet Paramètres de la source. Sous cet onglet, vous pouvez sélectionner ou créer le jeu de données vers lequel pointe la source.After you've added a source, configure via the Source settings tab. Here you can pick or create the dataset your source points at. Vous pouvez également sélectionner des options de schéma et d’échantillonnage pour vos données.You can also select schema and sampling options for your data.

Les valeurs de développement des paramètres de jeux de données peuvent être configurées dans les paramètres de débogage.Development values for dataset parameters can be configured in debug settings. (Le mode débogage doit être activé.)(Debug mode must be turned on.)

Capture d’écran montrant l’onglet Paramètres de la sourceScreenshot that shows the Source settings tab.

Nom du flux de sortie : nom de la transformation de source.Output stream name: The name of the source transformation.

Type de source : permet de choisir entre un jeu de données inline et un objet DataSet existant.Source type: Choose whether you want to use an inline dataset or an existing dataset object.

Tester la connexion : Faites un test pour déterminer si le service Spark du flux de données peut se connecter au service lié utilisé dans votre jeu de données source.Test connection: Test whether or not the data flow's Spark service can successfully connect to the linked service used in your source dataset. Le mode de débogage doit être activé pour que cette fonctionnalité soit activée.Debug mode must be on for this feature to be enabled.

Dérive de schéma : La dérive de schéma est la capacité de Data Factory à gérer nativement des schémas flexibles dans vos flux de données sans avoir besoin de définir explicitement des changements de colonnes.Schema drift: Schema drift is the ability of Data Factory to natively handle flexible schemas in your data flows without needing to explicitly define column changes.

  • Cochez la case Autoriser la dérive de schéma si les colonnes sources sont amenées à changer souvent.Select the Allow schema drift check box if the source columns will change often. Ce paramètre autorise tous les champs sources entrants à circuler jusqu’au récepteur, par le biais des transformations.This setting allows all incoming source fields to flow through the transformations to the sink.

  • La sélection de l’option Déduire les types de colonnes dérivés ordonne à Data Factory de détecter et de définir les types de données pour chaque nouvelle colonne découverte.Selecting Infer drifted column types instructs Data Factory to detect and define data types for each new column discovered. Si cette fonctionnalité est désactivée, toutes les colonnes dérivées seront de type chaîne.With this feature turned off, all drifted columns will be of type string.

Valider le schéma : Quand la case Valider le schéma est cochée, l’exécution du flux de données échoue si les données sources entrantes ne correspondent pas au schéma défini du jeu de données.Validate schema: If Validate schema is selected, the data flow will fail to run if the incoming source data doesn't match the defined schema of the dataset.

Nombre de lignes à ignorer : Ce champ spécifie le nombre de lignes à ignorer au début du jeu de données.Skip line count: The Skip line count field specifies how many lines to ignore at the beginning of the dataset.

Échantillonnage : Activez Échantillonnage pour limiter le nombre de lignes provenant de la source.Sampling: Enable Sampling to limit the number of rows from your source. Utilisez ce paramètre quand vous testez ou échantillonnez des données à partir de votre source à des fins de débogage.Use this setting when you test or sample data from your source for debugging purposes.

Pour vérifier que votre source est correctement configurée, activez le mode débogage et récupérez un aperçu des données.To validate your source is configured correctly, turn on debug mode and fetch a data preview. Pour en savoir plus, consultez Mode débogage.For more information, see Debug mode.

Notes

Quand le mode débogage est activé, la configuration de la limite du nombre de lignes dans les paramètres de débogage remplace le paramètre d’échantillonnage dans la source lors de l’affichage de l’aperçu des données.When debug mode is turned on, the row limit configuration in debug settings will overwrite the sampling setting in the source during data preview.

Options de la sourceSource options

L’onglet Options de la source contient des paramètres propres au connecteur et au format choisis.The Source options tab contains settings specific to the connector and format chosen. Pour plus d’informations et d’exemples, consultez la documentation du connecteur en question.For more information and examples, see the relevant connector documentation.

ProjectionProjection

Comme les schémas des jeux de données, la projection d’une source définit les colonnes, les types et les formats des données sources.Like schemas in datasets, the projection in a source defines the data columns, types, and formats from the source data. Pour la plupart des types de jeu de données, tels que SQL et Parquet, la projection dans une source est corrigée pour refléter le schéma défini dans un jeu de données.For most dataset types, such as SQL and Parquet, the projection in a source is fixed to reflect the schema defined in a dataset. Quand vos fichiers sources ne sont pas fortement typés (par exemple, des fichiers .csv plats et non des fichiers Parquet), vous pouvez définir les types de données pour chaque champ de la transformation de source.When your source files aren't strongly typed (for example, flat .csv files rather than Parquet files), you can define the data types for each field in the source transformation.

Screenshot that shows settings on the Projection tab.Screenshot that shows settings on the Projection tab.

Si votre fichier texte ne comporte aucun schéma défini, sélectionnez Détecter le type de données afin que Data Factory échantillonne et déduise les types de données.If your text file has no defined schema, select Detect data type so that Data Factory will sample and infer the data types. Sélectionnez Définir le format par défaut pour détecter automatiquement les formats de données par défaut.Select Define default format to autodetect the default data formats.

Réinitialiser le schéma réinitialise la projection en fonction de ce qui est défini dans le jeu de données référencé.Reset schema resets the projection to what is defined in the referenced dataset.

Vous pouvez modifier les types de données des colonnes lors d’une transformation de colonne dérivée en aval.You can modify the column data types in a downstream derived-column transformation. Utilisez une transformation de sélection pour modifier les noms de colonnes.Use a select transformation to modify the column names.

Importer un schémaImport schema

Sélectionnez le bouton Importer un schéma sous l’onglet Projection pour utiliser un cluster de débogage actif dans le but de créer une projection de schéma.Select the Import schema button on the Projection tab to use an active debug cluster to create a schema projection. Il est disponible dans chaque type de source.It's available in every source type. L’importation du schéma ici remplace la projection définie dans le jeu de données.Importing the schema here will override the projection defined in the dataset. L’objet de jeu de données ne sera pas changé.The dataset object won't be changed.

L’importation de schéma est utile dans les jeux de données tels qu’Avro et Azure Cosmos DB qui prennent en charge des structures de données complexes et qui ne nécessitent pas l’existence de définitions de schéma dans le jeu de données.Importing schema is useful in datasets like Avro and Azure Cosmos DB that support complex data structures that don't require schema definitions to exist in the dataset. Pour les jeux de données inlined, l’importation de schéma est la seule façon de référencer des métadonnées de colonne sans dérive de schéma.For inline datasets, importing schema is the only way to reference column metadata without schema drift.

Optimiser la transformation de la sourceOptimize the source transformation

L’onglet Optimiser permet de modifier les informations de partition à chaque étape de transformation.The Optimize tab allows for editing of partition information at each transformation step. Dans la plupart des cas, l’option Utiliser le partitionnement actuel sera optimisée afin d’obtenir la structure de partitionnement idéale d’une source.In most cases, Use current partitioning will optimize for the ideal partitioning structure for a source.

Si vous lisez des données à partir d’une source Azure SQL Database, c’est probablement le partitionnement Source personnalisé qui permettra de lire les données le plus rapidement.If you're reading from an Azure SQL Database source, custom Source partitioning will likely read data the fastest. Data Factory lit les requêtes volumineuses en établissant des connexions avec votre base de données en parallèle.Data Factory will read large queries by making connections to your database in parallel. Ce partitionnement source peut être effectué sur une colonne ou à l’aide d’une requête.This source partitioning can be done on a column or by using a query.

Screenshot that shows the Source partition settings.Screenshot that shows the Source partition settings.

Pour plus d’informations sur l’optimisation dans le mappage de flux de données, consultez la section Onglet Optimiser.For more information on optimization within mapping data flow, see the Optimize tab.

Étapes suivantesNext steps

Commencez à créer votre flux de données avec une transformation de colonne dérivée, puis une transformation de sélection.Begin building your data flow with a derived-column transformation and a select transformation.