Database
 sql >> Base de données >  >> RDS >> Database

Charger des documents dans Azure Data Lake et exporter des données à l'aide de SSIS

Présentation

Azure grandit chaque jour. Microsoft a créé Azure, qui est un service de Cloud Computing lancé en 2010.

Selon Microsoft, 80 % des entreprises du Fortune 500 utilisent Azure. De plus, 40 % des revenus d'Azure proviennent des startups et des éditeurs de logiciels indépendants. 33 % des machines virtuelles Azure utilisent Linux. Microsoft s'attend à gagner 20 milliards de dollars en 2018.

C'est pourquoi les entreprises migrent une partie des données vers Azure et parfois toutes les données.

Azure Data Lake est un stockage spécial pour analyser le Big Data en parallèle dans Azure. Il est optimisé pour l'analyse. Vous pouvez stocker des données de réseaux sociaux, des e-mails, des documents, des informations de capteur, des informations géographiques et plus encore.

Si vous souhaitez uniquement stocker des données, Azure Blob Storage suffit. Si vous souhaitez analyser les données, Data Lake est la meilleure option car il est conçu pour les rapports.

Le Data Lake Store est généralement analysé à l'aide de Cortana Analytics Suite, Power BI, SSIS est un outil bien connu et populaire pour migrer des données. Dans ce nouvel article, nous montrerons comment utiliser SSIS pour migrer des données vers Azure. Nous montrerons également comment exporter des données à partir d'un fichier .txt dans Azure Data Lake Store vers SQL Server sur site.

Si vous n'avez aucune expérience dans Azure, mais que vous avez de l'expérience avec SSIS. Cet article est pour vous.

Nous suivrons ces étapes pour importer les données dans Azure Data Lake :

  1. Installer le pack de fonctionnalités SSIS pour Azure
    Par défaut, vous ne pouvez pas vous connecter à Azure Data Lake Store. Il est nécessaire d'installer le pack de fonctionnalités pour Azure dans les projets SSIS.
  1. Créer un Azure Data Lake Store (ADLS) dans le portail Azure
    Si vous n'avez pas d'Azure Data Lake Store, vous devrez en créer un nouveau. Nous allons créer un dossier dans cet ADLS et nous importerons ici les données d'un dossier local.
  1. Créer un enregistrement d'application
    Dans le portail Azure, dans les options Azure Active Directory (AAD), il existe une option pour l'inscription des applications. Nous utiliserons un enregistrement d'application pour accéder à l'ADLS.
  1. Attribuer des autorisations à ADLS
    Dans ADLS dans l'explorateur de données, vous devez accorder l'accès à l'enregistrement de l'application.
  1. Exporter des fichiers vers ADLS avec SSIS
    À l'aide de la tâche ADLS pour SSIS dans SSDT, vous pouvez exporter les données d'un fichier local vers SSIS. Pour cela, vous avez besoin de l'URL ADLS, de l'ID d'application de l'enregistrement de l'application et de la clé d'enregistrement de l'application.
  1. Vérifier les résultats
    Enfin, dans le portail Azure, accédez à ADLS, Data Explorer et vérifiez que les fichiers ont été copiés avec succès.

Exigences

Le logiciel suivant est requis pour cet article :

  1. SSIS installé (inclus avec le programme d'installation de SQL Server)
  2. Outils de données SQL Server (SSDT) ​​installés
  3. Un compte Azure
  4. Le pack de fonctionnalités SSIS pour Azure

Commencer

1. Installez le pack de fonctionnalités SSIS pour Azure
Il existe un Feature Pack gratuit pour SSIS qui inclut des tâches pour se connecter à Azure. Le pack de fonctionnalités SSIS doit être installé. Ce package comprend plusieurs tâches pour travailler avec le Big Data dans Azure (HDInsight), Azure Blob Storage, Azure Data Lake Store, Azure Data Warehouse et plus :

Le programme d'installation est un 29 Mo. Il existe une version pour 32 et 64 bits.

2. Créer un Azure Data Lake Store (ADLS) dans le portail Azure
Vous aurez également besoin d'un abonnement à Azure. Il existe des éditions d'essai pour les débutants qui souhaitent apprendre cette nouvelle technologie. Nous allons créer un Azure Data Lake Store. Un Data Lake Store est l'endroit où vous stockez vos données dans Azure à des fins d'analyse. Connectez-vous au portail Azure et accédez à plus de services (>) et dans la zone de texte de recherche, écrivez Data Lake Store. Sélectionnez le Data Lake Store :

Je suppose que vous n'avez pas encore de Data Lake Store, nous allons donc en créer un nouveau en appuyant sur l'icône +Ajouter :

Spécifiez un nom pour le Data Lake Store. Le groupe de ressources doit gérer plusieurs ressources Azure dans des groupes. L'emplacement est de spécifier l'emplacement le plus proche de vous. Vous pouvez payer pour la consommation. Le prix est d'environ 0,39 USD par Go. Plus il y a de TB, moins c'est cher. Des frais sont également facturés par opération de lecture et d'écriture (10 000 opérations d'écriture pour 0,05 $ et 10 000 opérations de lecture pour 0,004 $).

Une fois créé, cliquez sur le Data Lake Store :

Pour créer des dossiers et ajouter des fichiers, rendez-vous dans l'explorateur de données :

Créez un nouveau dossier. Nous allons télécharger des fichiers dans ce dossier. Attribuez un nom et appuyez sur OK :

3. Créer un enregistrement d'application
Nous allons créer un enregistrement d'application pour accéder à Data Lake. Dans l'enregistrement de l'application, vous enregistrez votre application et un ID d'application et une clé vous sont attribués. Pour ce faire, nous devons accéder à Plus de services>Active Directory :

Accédez à Enregistrements d'applications :

Ajoutez un nom. Le type d'application est Web app/API (celui par défaut). L'URL peut être n'importe quelle URL selon vos préférences :



Cliquez sur l'application que vous venez de créer :


Pour vous connecter à Azure Data Lake Store, vous avez besoin de l'ID d'application :

Dans l'enregistrement de l'application, accédez aux clés. Créez une nouvelle clé et attribuez une durée d'expiration à la clé. Copiez et collez la valeur quelque part. Cette valeur sera requise pour se connecter à Azure Data Lake Store :

Accédez au Data Lake Store et copiez l'URL dans la section Présentation. Ces informations sont également utiles pour se connecter à l'aide de SSIS :


4. Attribuer des autorisations à ADLS
Nous accorderons des autorisations à nos enregistrements d'application. Ces autorisations permettront d'accéder à ADLS. Allez dans l'explorateur de données :

Appuyez sur l'option d'accès pour ajouter l'enregistrement de l'application :


Appuyez sur +Ajouter option pour ajouter l'enregistrement de l'application :

Dans la zone de texte, écrivez AppService et appuyez sur le bouton Sélectionner :


Attribuez des autorisations de lecture, d'écriture et d'exécution. Vous pouvez ajouter des autorisations au dossier et au dossier et à tous les enfants.

Vous pouvez également attribuer un accès, des autorisations par défaut et les deux :

5. Exportation de fichiers vers ADLS avec SSIS
Dans SSDT, créez un projet SSIS. Si vous avez installé le pack de fonctionnalités pour Azure, vous pourrez voir la tâche de système de fichiers Azure Data Lake Store. Faites glisser et déposez cette tâche dans le volet de conception :

Double-cliquez sur la tâche de système de fichiers Azure Data Lake Store. Il y a 2 opérations possibles. Pour copier depuis Azure Data Lake (ADL) ou pour copier vers ADL. Dans cet exemple, nous allons copier depuis un fichier local vers ADL. Dans la source, nous utiliserons le dossier c:\sql, nous aurons quelques fichiers locaux à copier vers ADL. Dans AzureDataLakeDirectory, nous utiliserons le dossier partagé. Ce dossier a été créé dans ADL Store lors des étapes précédentes. AzureDataLakeConnection sera expliqué plus tard. Vive l'expiration du fichier (cette option est utilisée pour spécifier quand l'expiration des fichiers) :

Dans AzureDataLakeConnection, nous allons sélectionner l'option New Connection pour en créer une nouvelle :

Dans la connexion, vous avez besoin de l'hôte ADLS. Il s'agit de l'URL lorsque vous accédez à la section Présentation de l'ADLS dans le portail. Dans l'authentification, nous utiliserons une identité de service Azure AD. Cette option utilise l'enregistrement d'application créé dans Azure.

L'ID client est l'ID d'application de l'enregistrement de l'application. Vous pouvez trouver ces informations dans la section Enregistrement de l'application d'Azure AD.

La clé secrète se trouve dans le portail dans App Registration dans Azure AD dans la section clé. Vous pouvez créer une clé et utiliser la valeur dans cette section.

Le nom du locataire est le nom du domaine Azure AD (nous expliquerons le domaine Azure).

Appuyez sur la connexion de test pour vérifier que tout va bien. Une fois que c'est bon, appuyez sur OK :

Si vous ne connaissez pas votre domaine (nom du locataire), vous pouvez vérifier en cliquant dans la section en haut à droite du portail.


Vous pouvez exécuter le package SSIS pour exporter les données vers ADLS. Dans cet exemple, nous avons 3 fichiers dans le dossier local.

6. Vérifiez les résultats
Si tout est OK, dans le portail Azure, accédez à l'ADLS et accédez à l'explorateur de données. Accédez au dossier partagé et vérifiez les fichiers qui s'y trouvent. Vous pourrez voir les 5 fichiers copiés.


Exporter des données de Data Lake vers SQL Server sur site

Dans la deuxième partie, nous allons exporter les données stockées dans Azure Data Lake vers SQL Server sur site. Faites glisser et déposez une tâche de flux de données :

Double-cliquez sur la tâche de flux de données et faites glisser et déposez la source Azure Data Lake Store et la destination SQL Server. Connectez les deux tâches. Double-cliquez sur Azure Data Lake Store Source :

Sélectionnez la connexion ADLS créée dans la première partie de l'article. Dans le chemin, indiquez le chemin ADLS (nom du dossier/fichier). Dans ce scénario, le format de fichier est du texte et le délimiteur est une virgule :

Dans les colonnes, vous pouvez voir les colonnes. S'il n'y a pas de colonnes. Des en-têtes de colonne par défaut sont créés :

Double-cliquez sur la destination SQL Server. Appuyez sur Nouveau pour créer un gestionnaire de connexion :

Créez une nouvelle connexion. Spécifiez le nom du serveur SQL, l'authentification et la base de données où vous souhaitez stocker les données :

Dans le tableau ou la vue, appuyez sur Nouveau pour créer un nouveau tableau :



Par défaut, vous aurez le code T-SQL suivant :

Modifiez le code pour spécifier un nom de table et donner des noms de colonne :

CREATE TABLE [smartphones] (

    [ID] int,

    Brand nvarchar(100),

    Version nvarchar(100)

)

Accédez à la page Mappages et attribuez Prop_0 à ID, Prop_1 à Marque, Prop_2 à Version :

Vous aurez une erreur dans SQL Server Destination. Que la colonne ne peut pas être insérée en raison d'un problème de conversion. En effet, Prop_0 est une chaîne et la table SQL Server est un entier :

Faites glisser et déposez la tâche de conversion de données et connectez-vous entre la source Azure Data Lake Store et la destination SQL Server :

Double-cliquez sur conversion de données, sélectionnez Prop_0 et convertissez le type de données en entier signé de quatre octets [DT_I4] et attribuez un alias. La conversion de données crée une autre colonne avec un type de données différent :

Revenez à l'éditeur de destination SQL et faites correspondre Prop_0int à ID :

Exécutez le package SSIS. Dans SSMS, vérifiez que les tables dbo.smartphones sont créées et vérifiez si les données ont été importées :

Si vous avez des questions ou des problèmes, n'hésitez pas à écrire vos commentaires.

Conclusion

Azure Data Lake est un stockage spécial à hautes performances pour gérer le Big Data. Pour migrer les données des serveurs locaux vers Azure, vous pouvez utiliser SSIS. Pour ce faire, vous avez besoin du nouveau Feature Pack pour Azure. Ce pack installe de nouvelles tâches pour se connecter à ADLS.

Pour vous connecter à ADLS à l'aide de SSIS, nous avons créé un enregistrement d'application AAD avec des autorisations.

SSIS permet de télécharger facilement les fichiers sur ADLS. Il vous suffit de spécifier l'URL ADLS, la clé d'enregistrement de l'application et l'ID de l'application.

Nous montrons également comment extraire des données d'ADLS vers une table dans SQL Server sur site.

Références

Pour plus d'informations sur SSIS, Data Lake Store, l'inscription à l'application, utilisez les liens suivants :

  • Présentation d'Azure Data Lake
  • Gestionnaire de connexion Azure Data Lake Store
  • Pack de fonctionnalités Azure pour les services d'intégration (SSIS)
  • Intégration d'applications avec Azure Active Directory
  • Tâche du système de fichiers Azure Data Lake Store
  • Inscrire votre application auprès de votre locataire Azure Active Directory