Charger 1 To dans Azure SQL Data Warehouse en moins de 15 minutes avec Azure Data FactoryLoad 1 TB into Azure SQL Data Warehouse under 15 minutes with Data Factory

Notes

Cet article s’applique à la version 1 de Data Factory.This article applies to version 1 of Data Factory. Si vous utilisez la version actuelle du service Data Factory, qui est en préversion, consultez Copier des données depuis/vers Azure SQL Data Warehouse à l’aide de Data Factory.If you are using the current version of the Data Factory service, see Copy data to or from Azure SQL Data Warehouse by using Data Factory.

Azure SQL Data Warehouse est une base de données de mise à l’échelle basée sur le cloud qui prend en charge le traitement de grands volumes de données relationnelles et non relationnelles.Azure SQL Data Warehouse is a cloud-based, scale-out database capable of processing massive volumes of data, both relational and non-relational. Reposant sur une architecture MPP (massively parallel processing), SQL Data Warehouse est optimisée pour les charges de travail d’entrepôt de données d’entreprise.Built on massively parallel processing (MPP) architecture, SQL Data Warehouse is optimized for enterprise data warehouse workloads. Elle offre l’élasticité du cloud avec la flexibilité de mettre à l’échelle le stockage et d’exécuter le calcul indépendamment.It offers cloud elasticity with the flexibility to scale storage and compute independently.

La prise en main d’Azure SQL Data Warehouse est désormais plus facile à l’aide d’Azure Data Factory.Getting started with Azure SQL Data Warehouse is now easier than ever using Azure Data Factory. Azure Data Factory est un service d’intégration de données cloud entièrement géré, qui peut être utilisé pour remplir une base de données SQL Data Warehouse avec les données de votre système existant. Cela vous permet de gagner un temps précieux lors de l’évaluation de SQL Data Warehouse et de la création de vos solutions d’analyse.Azure Data Factory is a fully managed cloud-based data integration service, which can be used to populate a SQL Data Warehouse with the data from your existing system, and saving you valuable time while evaluating SQL Data Warehouse and building your analytics solutions. Voici les principaux avantages liés au chargement de données dans Azure SQL Data Warehouse à l’aide d’Azure Data Factory :Here are the key benefits of loading data into Azure SQL Data Warehouse using Azure Data Factory:

  • Facilité de configuration : assistant intuitif en 5 étapes sans script nécessaire.Easy to set up: 5-step intuitive wizard with no scripting required.
  • Prise en charge étendue du magasin de données : prise en charge intégrée d’un ensemble complet de magasins de données locaux et sur le cloud.Rich data store support: built-in support for a rich set of on-premises and cloud-based data stores.
  • Sécurité et conformité : les données sont transférées via HTTPS ou ExpressRoute et la présence globale du service garantit que vos données ne quittent jamais les limites géographiquesSecure and compliant: data is transferred over HTTPS or ExpressRoute, and global service presence ensures your data never leaves the geographical boundary
  • Performances sans précédent à l’aide de PolyBase : l’utilisation de Polybase est le moyen le plus efficace pour déplacer des données dans Azure SQL Data Warehouse.Unparalleled performance by using PolyBase – Using Polybase is the most efficient way to move data into Azure SQL Data Warehouse. À l’aide de la fonction blob intermédiaire, vous pouvez obtenir des vitesses de charge élevées pour tous les types de magasins de données en plus du Stockage Blob Azure, pris en charge par Polybase par défaut.Using the staging blob feature, you can achieve high load speeds from all types of data stores besides Azure Blob storage, which the Polybase supports by default.

Cet article vous montre comment utiliser l’Assistant Copie de Data Factory pour charger 1 To de données depuis le Stockage Blob Azure dans Azure SQL Data Warehouse en moins de 15 minutes, à un débit de 1,2 Go/s minimum.This article shows you how to use Data Factory Copy Wizard to load 1-TB data from Azure Blob Storage into Azure SQL Data Warehouse in under 15 minutes, at over 1.2 GBps throughput.

Cet article fournit des instructions détaillées pour déplacer les données dans Azure SQL Data Warehouse à l’aide de l’Assistant Copie.This article provides step-by-step instructions for moving data into Azure SQL Data Warehouse by using the Copy Wizard.

Notes

Pour des informations générales sur les fonctionnalités de Data Factory permettant de déplacer des données vers et depuis Azure SQL Data Warehouse, consultez Déplacer des données vers et depuis Azure SQL Data Warehouse à l’aide d’Azure Data Factory.For general information about capabilities of Data Factory in moving data to/from Azure SQL Data Warehouse, see Move data to and from Azure SQL Data Warehouse using Azure Data Factory article.

Vous pouvez également créer des pipelines à l’aide du portail Azure, de Visual Studio, de PowerShell, etc. Consultez le tutoriel : Copier des données d’Azure Blob vers Azure SQL Database pour obtenir une brève procédure pas à pas de l’utilisation de l’activité de copie dans Azure Data Factory.You can also build pipelines using Azure portal, Visual Studio, PowerShell, etc. See Tutorial: Copy data from Azure Blob to Azure SQL Database for a quick walkthrough with step-by-step instructions for using the Copy Activity in Azure Data Factory.

PrérequisPrerequisites

  • Stockage Blob Azure : cette expérience utilise le Stockage Blob Azure (GRS) pour stocker un jeu de données de test TPC-H.Azure Blob Storage: this experiment uses Azure Blob Storage (GRS) for storing TPC-H testing dataset. Si vous ne possédez pas de compte de stockage Azure, découvrez comment créer un compte de stockage.If you do not have an Azure storage account, learn how to create a storage account.

  • Données TPC-H : nous allons utiliser TPC-H comme jeu de données de test.TPC-H data: we are going to use TPC-H as the testing dataset. Pour ce faire, vous devez utiliser dbgen dans le kit d’outils TPC-H, qui vous permet de générer le jeu de données.To do that, you need to use dbgen from TPC-H toolkit, which helps you generate the dataset. Vous pouvez télécharger le code source pour dbgen depuis TPC Tools et le compiler vous-même, ou vous pouvez télécharger le fichier binaire compilé à partir de GitHub.You can either download source code for dbgen from TPC Tools and compile it yourself, or download the compiled binary from GitHub. Exécutez dbgen.exe avec les commandes suivantes pour générer le fichier plat de 1 To pour la table lineitem répartie entre 10 fichiers :Run dbgen.exe with the following commands to generate 1 TB flat file for lineitem table spread across 10 files:

  • Azure SQL Data Warehouse : cette expérience charge des données dans Azure SQL Data Warehouse créé avec 6 000 DWUAzure SQL Data Warehouse: this experiment loads data into Azure SQL Data Warehouse created with 6,000 DWUs

    Consultez Créer un Azure SQL Warehouse pour obtenir des instructions détaillées sur la création d’une base de données SQL Data Warehouse.Refer to Create an Azure SQL Data Warehouse for detailed instructions on how to create a SQL Data Warehouse database. Pour obtenir les meilleures performances possibles de charge dans SQL Data Warehouse à l’aide de Polybase, nous choisissons le nombre maximal d’unités de DWU (Data Warehouse Units) autorisé dans le paramètre Performance, qui est de 6 000 DWU.To get the best possible load performance into SQL Data Warehouse using Polybase, we choose maximum number of Data Warehouse Units (DWUs) allowed in the Performance setting, which is 6,000 DWUs.

    Notes

    Lors du chargement à partir d’Azure Blob, les performances de chargement des données sont directement proportionnelles au nombre de DWU configuré dans le SQL Data Warehouse :When loading from Azure Blob, the data loading performance is directly proportional to the number of DWUs you configure on the SQL Data Warehouse:

    Le chargement de 1 To dans 1 000 DWU SQL Data Warehouse prend 87 minutes (débit d’environ 200 Mo/s). Le chargement de 1 To dans 2000 DWU SQL Data Warehouse prend 46 minutes (débit d’environ 380 Mo/s). Le chargement de 1 To dans 6 000 DWU SQL Data Warehouse prend 14 minutes (débit d’environ 1,2 Go/s).Loading 1 TB into 1,000 DWU SQL Data Warehouse takes 87 minutes (~200 MBps throughput) Loading 1 TB into 2,000 DWU SQL Data Warehouse takes 46 minutes (~380 MBps throughput) Loading 1 TB into 6,000 DWU SQL Data Warehouse takes 14 minutes (~1.2 GBps throughput)

    Pour créer un SQL Data Warehouse avec 6 000 DWU, déplacez le curseur Performance complètement à droite :To create a SQL Data Warehouse with 6,000 DWUs, move the Performance slider all the way to the right:

    Curseur Performance

    Pour une base de données existante qui n’est pas configurée avec 6 000 DWU, vous pouvez la mettre à l’échelle à l’aide du portail Azure.For an existing database that is not configured with 6,000 DWUs, you can scale it up using Azure portal. Accédez à la base de données dans le portail Azure. Il existe un bouton Mise à l’échelle situé dans le panneau Présentation illustré dans l’image suivante :Navigate to the database in Azure portal, and there is a Scale button in the Overview panel shown in the following image:

    Bouton Mise à l’échelle

    Cliquez sur le bouton Mise à l’échelle pour ouvrir le panneau suivant, déplacez le curseur sur la valeur maximale, puis cliquez sur le bouton Enregistrer.Click the Scale button to open the following panel, move the slider to the maximum value, and click Save button.

    Boîte de dialogue de mise à l’échelle

    Cette expérience charge des données dans Azure SQL Data Warehouse à l’aide de la classe de ressources xlargerc.This experiment loads data into Azure SQL Data Warehouse using xlargerc resource class.

    Pour obtenir le meilleur débit possible, la copie doit être effectuée à l’aide d’un utilisateur SQL Data Warehouse appartenant à la classe de ressources xlargerc.To achieve best possible throughput, copy needs to be performed using a SQL Data Warehouse user belonging to xlargerc resource class. Découvrez comment procéder en consultant Exemple de modification d’une classe de ressources utilisateur.Learn how to do that by following Change a user resource class example.

  • Créez le schéma de la table de destination dans la base de données Azure SQL Data Warehouse en exécutant l’instruction DDL suivante :Create destination table schema in Azure SQL Data Warehouse database, by running the following DDL statement:

    CREATE TABLE [dbo].[lineitem]
    (
        [L_ORDERKEY] [bigint] NOT NULL,
        [L_PARTKEY] [bigint] NOT NULL,
        [L_SUPPKEY] [bigint] NOT NULL,
        [L_LINENUMBER] [int] NOT NULL,
        [L_QUANTITY] [decimal](15, 2) NULL,
        [L_EXTENDEDPRICE] [decimal](15, 2) NULL,
        [L_DISCOUNT] [decimal](15, 2) NULL,
        [L_TAX] [decimal](15, 2) NULL,
        [L_RETURNFLAG] [char](1) NULL,
        [L_LINESTATUS] [char](1) NULL,
        [L_SHIPDATE] [date] NULL,
        [L_COMMITDATE] [date] NULL,
        [L_RECEIPTDATE] [date] NULL,
        [L_SHIPINSTRUCT] [char](25) NULL,
        [L_SHIPMODE] [char](10) NULL,
        [L_COMMENT] [varchar](44) NULL
    )
    WITH
    (
        DISTRIBUTION = ROUND_ROBIN,
        CLUSTERED COLUMNSTORE INDEX
    )
    

    Une fois les étapes requises terminées, nous sommes désormais prêts à configurer l’activité de copie à l’aide de l’Assistant Copie.With the prerequisite steps completed, we are now ready to configure the copy activity using the Copy Wizard.

Lancer l’Assistant CopieLaunch Copy Wizard

  1. Connectez-vous au portail Azure.Log in to the Azure portal.

  2. Cliquez sur Créer une ressource en haut à gauche, cliquez sur Intelligence + analyse, puis sur Data Factory.Click Create a resource from the top-left corner, click Intelligence + analytics, and click Data Factory.

  3. Dans le volet Nouvelle fabrique de données :In the New data factory pane:

    1. Entrez LoadIntoSQLDWDataFactory pour le nom.Enter LoadIntoSQLDWDataFactory for the name. Le nom de la fabrique de données Azure doit être un nom global unique.The name of the Azure data factory must be globally unique. Si vous recevez le message d’erreur : Data factory name “LoadIntoSQLDWDataFactory” is not available, changez le nom de la fabrique de données (par exemple, votrenomCustomActivityFactory), puis tentez de la recréer.If you receive the error: Data factory name “LoadIntoSQLDWDataFactory” is not available, change the name of the data factory (for example, yournameLoadIntoSQLDWDataFactory) and try creating again. Consultez la rubrique Data Factory - Règles d’affectation des noms pour savoir comment nommer les artefacts Data Factory.See Data Factory - Naming Rules topic for naming rules for Data Factory artifacts.
    2. Sélectionnez votre abonnementAzure.Select your Azure subscription.
    3. Pour Groupe de ressources, effectuez l’une des opérations suivantes :For Resource Group, do one of the following steps:
      1. Sélectionnez Utiliser l’existant pour sélectionner un groupe de ressources existant.Select Use existing to select an existing resource group.
      2. Sélectionnez Créer un nouveau pour entrer un nom pour un groupe de ressources.Select Create new to enter a name for a resource group.
    4. Sélectionnez un emplacement pour la fabrique de données.Select a location for the data factory.
    5. Sélectionnez la case à cocher Épingler au tableau de bord en bas du panneau.Select Pin to dashboard check box at the bottom of the blade.
    6. Cliquez sur Créer.Click Create.
  4. Une fois la création terminée, le panneau Data Factory s’affiche comme sur l’image suivante :After the creation is complete, you see the Data Factory blade as shown in the following image:

    Page d’accueil Data Factory

  5. Dans la page d’accueil Fabrique de données, cliquez sur la vignette Copier les données pour lancer l’Assistant de copie.On the Data Factory home page, click the Copy data tile to launch Copy Wizard.

    Notes

    Si vous voyez que le navigateur web est bloqué au niveau « Autorisation... », désactivez/décochez l’option Block third party cookies and site data (Bloquer les cookies et les données de site tiers) (ou) laissez cette option activée et créez une exception pour login.microsoftonline.com, puis essayez de relancer l’Assistant.If you see that the web browser is stuck at "Authorizing...", disable/uncheck Block third party cookies and site data setting (or) keep it enabled and create an exception for login.microsoftonline.com and then try launching the wizard again.

Étape 1 : Configurer la planification du chargement de donnéesStep 1: Configure data loading schedule

La première étape consiste à configurer la planification du chargement de données.The first step is to configure the data loading schedule.

Dans la page Propriétés :In the Properties page:

  1. Entrez CopyFromBlobToAzureSqlDataWarehouse comme Nom de la tâcheEnter CopyFromBlobToAzureSqlDataWarehouse for Task name

  2. Sélectionnez l’option Exécuter une fois.Select Run once now option.

  3. Cliquez sur Suivant.Click Next.

    Assistant Copie - Page Propriétés

Étape 2 : Configurer la sourceStep 2: Configure source

Cette section décrit les étapes pour configurer la source : Azure Blob contenant les fichiers d’éléments de ligne TPC-H 1 To.This section shows you the steps to configure the source: Azure Blob containing the 1-TB TPC-H line item files.

  1. Sélectionnez Stockage Blob Azure comme magasin de données et cliquez sur Suivant.Select the Azure Blob Storage as the data store and click Next.

    Assistant Copie - Page Sélectionner la source

  2. Renseignez les informations de connexion pour le compte Stockage Blob Azure, puis cliquez sur Suivant.Fill in the connection information for the Azure Blob storage account, and click Next.

    Assistant Copie - Informations de connexion à la source

  3. Choisissez le dossier contenant les fichiers d’éléments de ligne TPC-H et cliquez sur Suivant.Choose the folder containing the TPC-H line item files and click Next.

    Assistant Copie - Sélectionner le dossier d’entrée

  4. Lorsque vous cliquez sur Suivant, les paramètres de format de fichier sont détectés automatiquement.Upon clicking Next, the file format settings are detected automatically. Vérifiez que le délimiteur de colonne est « | » au lieu de la virgule par défaut « , ».Check to make sure that column delimiter is ‘|’ instead of the default comma ‘,’. Cliquez sur Suivant une fois que vous avez affiché un aperçu des données.Click Next after you have previewed the data.

    Assistant Copie - Paramètres de format de fichier

Étape 3 : Configurer la destinationStep 3: Configure destination

Cette section vous montre comment configurer la destination : la table lineitem dans la base de données Azure SQL Data Warehouse.This section shows you how to configure the destination: lineitem table in the Azure SQL Data Warehouse database.

  1. Choisissez Azure SQL Data Warehouse comme magasin de destination et cliquez sur Suivant.Choose Azure SQL Data Warehouse as the destination store and click Next.

    Assistant Copie - Sélectionner le magasin de données de destination

  2. Renseignez les informations de connexion pour Azure SQL Data Warehouse.Fill in the connection information for Azure SQL Data Warehouse. Veillez à spécifier l’utilisateur qui est membre du rôle xlargerc (voir les conditions préalables pour obtenir des instructions détaillées), puis cliquez sur Suivant.Make sure you specify the user that is a member of the role xlargerc (see the prerequisites section for detailed instructions), and click Next.

    Assistant Copie - Informations de connexion à la destination

  3. Choisissez la table de destination et cliquez sur Suivant.Choose the destination table and click Next.

    Assistant Copie - Page Mappage de table

  4. Dans la page Mappage de schéma, laissez l’option « Appliquer le mappage de colonnes » décochée et cliquez sur Suivant.In Schema mapping page, leave "Apply column mapping" option unchecked and click Next.

Étape 4 : Paramètres de performanceStep 4: Performance settings

La case Autoriser Polybase est cochée par défaut.Allow polybase is checked by default. Cliquez sur Suivant.Click Next.

Assistant Copie - Page Mappage de schéma

Étape 5 : Déployer et surveiller les résultats du chargementStep 5: Deploy and monitor load results

  1. Cliquez sur le bouton Terminer pour déployer.Click Finish button to deploy.

    Assistant Copie - Page Résumé

  2. Une fois le déploiement terminé, cliquez sur Click here to monitor copy pipeline pour surveiller la progression de l’exécution de la copie.After the deployment is complete, click Click here to monitor copy pipeline to monitor the copy run progress. Sélectionner le pipeline de copie que vous avez créé dans la liste Fenêtres d’activité.Select the copy pipeline you created in the Activity Windows list.

    Assistant Copie - Page Résumé

    Vous pouvez afficher les détails de l’exécution de la copie dans l’Explorateur de fenêtres d’activité dans le panneau de droite, notamment le volume de données lu à partir de la source et écrit dans la destination, la durée et le débit moyen de l’exécution.You can view the copy run details in the Activity Window Explorer in the right panel, including the data volume read from source and written into destination, duration, and the average throughput for the run.

    Comme le montre la capture d’écran suivante, la copie de 1 To du Stockage Blob Azure vers SQL Data Warehouse a pris 14 minutes, soit un débit de 1,22 Gbit/s !As you can see from the following screenshot, copying 1 TB from Azure Blob Storage into SQL Data Warehouse took 14 minutes, effectively achieving 1.22 GBps throughput!

    Assistant Copie - Boîte de dialogue Succès

Bonnes pratiquesBest practices

Voici quelques meilleures pratiques pour l’exécution de votre base de données Azure SQL Data Warehouse :Here are a few best practices for running your Azure SQL Data Warehouse database:

  • Utilisez une classe de ressources supérieure lors du chargement dans un INDEX COLUMNSTORE EN CLUSTER.Use a larger resource class when loading into a CLUSTERED COLUMNSTORE INDEX.
  • Pour des jonctions plus efficaces, envisagez d’utiliser la distribution par hachage en fonction d’une colonne sélectionnée au lieu de la distribution par tourniquet (round robin) par défaut.For more efficient joins, consider using hash distribution by a select column instead of default round robin distribution.
  • Pour des vitesses de chargement plus rapides, envisagez d’utiliser des tas pour les données temporaires.For faster load speeds, consider using heap for transient data.
  • Créez des statistiques une fois le chargement Azure SQL Data Warehouse terminé.Create statistics after you finish loading Azure SQL Data Warehouse.

Pour plus d’informations, consultez Meilleures pratiques pour Azure SQL Data Warehouse.See Best practices for Azure SQL Data Warehouse for details.

Étapes suivantesNext steps