Azure Data Factory, Mouvement de données hybride

46 vues

Publié le

--session donnée dans le cadre du 24HOP Francophone--
http://www.sqlpass.org/24hours/2016/french/Sessions.aspx
Les données sont le nouveau pétrole ? Alors vous avez besoin de pipelines.
Azure Data Factory est la solution pour déplacer des données entre vos briques de stockage ou de calcul, qu’elles soient dans le Cloud ou dans votre Data Center.
Dans cette session, vous découvrirez cette technologie et comment construire votre 1er pipeline.

Publié dans : Données & analyses
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
46
Sur SlideShare
0
Issues des intégrations
0
Intégrations
1
Actions
Partages
0
Téléchargements
0
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Azure Data Factory, Mouvement de données hybride

  1. 1. Azure Data Factory Mouvement de données hybride
  2. 2. Jean-Pierre Riehl Practice Manager Data & BI AZEO MVP Data Platform Chapter Leader GUSS @djeepy1 http://blog.djeepy1.net
  3. 3. Azure Data Factory, c’est quoi ? Consume, Orchestrate, Transform  Principe de « Data Pipeline »  Cloud-ETL ?
  4. 4. Azure Data Factory, c’est quoi ? « Mouvement de données hybride (mais principalement dans le Cloud) et Orchestration des briques Data dans Azure »
  5. 5. Azure Data Factory, les concepts  Data Factory : représente l’unité de base d’ADF, elle contient des pipelines  Pipeline : représente le flux qui sera exécuté  Activité : représente une action réalisée (copie, entrainement de modèle, etc.)  Jeu de données : définit les données manipulées (colonnes, etc.)  Tranche : représente une instance d’un jeu de données  Service Lié : représente une source de données, un service  Passerelle : permet d’accéder à des ressources On-Prem
  6. 6. L’interface L’interface est dans le portail Azure Editeur de code intégré Assistant pipeline de copie Interface de monitoring Objets Diagnostics et alertes Vision Diagramme
  7. 7. Gestion du code avec Visual Studio Diagramme Solution & objets Code JSON
  8. 8. Premiers pas avec ADF
  9. 9. Activités de copie
  10. 10. Assistant de copie
  11. 11. Utilisation de l’assistant de copie
  12. 12. Eléments décortiqués : Service Lié type définit la source typeProperties contient les propriétés propres à la source  Ex : hiveConfiguration, mlEndpoint On précisera la Gateway pour les sources On-Premises  Possibilité de chiffrer les informations de connexion (credentials) côté OnPrem On peut préciser un autre service lié complémentaire  Ex : Azure Storage pour HDInsight Possibilité de faire de On-Demand { "name": "Djeepy1SQL", "properties": { "type": "OnPremisesSqlServer", "typeProperties": { "connectionString": "Data Source=L0171;Initial Catalog=xxx", "gatewayName": "SQLServer" } } }
  13. 13. Eléments décortiqués : Jeu de données type dépend de la source properties/typeProperties contiennent la définition  On précise le service lié  La structure peut être omise On peut définir la « disponibilité » du jeu de données On peut définir des règles de validation  Ex : nombre minimum de lignes On peut définir un partitionnement  Ex : source de type fichier Possibilité d’avoir un Scoped Dataset { "name": "FactSalesView_Azure", "properties": { "type": "AzureSqlTable", "linkedServiceName": "AzureSQL", "structure": [], "typeProperties": { "tableName": "FactSalesView_Azure" }, "external": true, "availability": { "frequency": "Minute","interval": 30 }, "policy": {} } }
  14. 14. Eléments décortiqués : Activité Référence les Datasets d’entrée et de sortie, et donc les Services Liés On peut définir des informations sur les sources et les destinations  Ex : le mapping, la requête à exécuter  Possibilité d’écrire des fonctions On définit la planification  Doit être aligné sur la disponibilité du Dataset de sortie On peut définir des conditions d’exécution  Ex : règle de retry { "name": "CopyView", "type": "Copy", "inputs": [], "outputs": [], "typeProperties": { "source": { "type": "SqlSource", "sqlReaderQuery": "select * from dbo.SalesByStoreYear" }, "sink": { "type": "SqlSink" } }, "policy": { } "scheduler": { } }}
  15. 15. Eléments décortiqués : Pipeline Contient les activités Détermine quand le pipeline est actif  Start /End  IsPaused { "name": "CopyTables", "properties": { "description": "Copie d'une vue et d'une requête custom", "activities": [ ... ], "start": "2016-09-11T20:00", "end": "2016-09-11T21:00" } }
  16. 16. Activité de copie : Source & Sink Source • Méta portées par le Dataset et/ou le pipeline • Possibilité d’injecter des paramètres Sink = Destination • Mapping possible Propriétés disponibles dépendantes du Data Store Au 19/09/2016
  17. 17. Besoin d’une passerelle ? DMZ SQL Cloud On-Prem Oracle … Data Management Gateway OnPrem Data Sources Azure Data Factory
  18. 18. Activités de calcul
  19. 19. Activités de calcul Il est possible d’utiliser les briques Data d’Azure pour réaliser des opérations :  HDInsight (HADOOP, Spark, etc.)  Azure Data Lake  Azure Machine Learning Utilisé pour la transformation ou le calcul Ex :  Requêtes Hive / Pig / MapR / U-SQL  Entrainement de modèle  Appel WS Azure ML  etc.
  20. 20. Activités de calcul 2 modes :  On-Demand  Bring-your-own On passe la configuration par des propriétés dans l’activité JSON
  21. 21. Activités de calcul & Monitoring
  22. 22. Principe de Slicing La disponibilité et la planification des Datasets conditionnent l’exécution  On parle de Slice (tranche) Ce sont les Slices qui vont transiter entre les activités des pipelines Principe d’alignement des Slices (+ planifications) Possibilité de partitionnement Dépendances & Policies Certaines sources sont « toujours disponibles » (ex : SQL Server)
  23. 23. Principe de Slicing Alignement de planifications Partitionnement Dépendances Policies Data source « toujours disponible »
  24. 24. 24
  25. 25. 25 Activités personnalisées
  26. 26. Activité personnalisée C’est une classe .NET qui implémente IDotNetActivity  => (Microsoft.Azure.Management.DataFactories) Elle tournera dans Azure Batch ou Azure HDinsight "activities": [ { ... "linkedServiceName": "HDInsightLinkedService", "type": "DotNetActivity", "typeProperties": { "assemblyName": "SentimentAnalysisService.dll", "entryPoint": "SentimentAnalysisService.SentimentAnalysis", "packageLinkedService": "StorageLinkedService", "packageFile": ".../SentimentAnalysis.zip", "extendedProperties": { } } ]
  27. 27. Créateur de réussites technologiques. Pour démarrer ? Consultez les offres AZEO • Self-Service BI • Data Analytics • BI Agile
  28. 28. Questions?
  29. 29. Merci de votre participation

×