Delta Lake avec Apache Spark
Il existe différent format de fichier pour stocker la donnée : parquet, avro, csv. Connaissez-vous le format Delta Lake ? Découvrons les fonctionnalités de ce format.
Sommaire
Si vous avez lu “Microsoft” et que vous n’avez pas fui, bienvenue sur cette introduction à la solution de Cloud Microsoft ! Ayant travaillé deux ans sur Azure, j’ai eu envie de partager ce que j’avais pu apprendre et livrer mes astuces et mon ressenti sur cet outil.
Pour commencer, nous allons voir ce qu’est Azure, puis je donnerai un avis personnel sur la solution et nous finirons sur un premier tutoriel.
Toujours présent ? Let’s go !
Comme dit plus haut, Azure est la solution Microsoft de cloud. Il permet l’accès à de nombreux services hébergés par Microsoft. Actuellement, on en répertorie une centaine, mais ce nombre augmente rapidement avec les innovations.
Bien que cette solution soit principalement utilisée en tant que cloud public, Azure permet par l’utilisation d’Azure Stack de mettre en place un cloud privé et un cloud hybride. Cependant, nous n'aborderons que la notion de cloud public dans cet article.
Petit rappel sur les notions de cloud privé, public et hybride :
- Le cloud public permet l’accès à différents services via les infrastructures Microsoft.
- Le cloud privé permet l’accès à différents services aussi, mais hébergés sur sa propre infrastructure.
- Le cloud hybride est un mix des deux.
Faire une liste de l’ensemble des services Azure serait long et pas forcément intéressant. Je vais donc lister ceux qui me semblent être les plus importants. Ils seront détaillés par la suite dans d’autres articles à venir.
Les services Microsoft Azure principaux sont :
Cependant, si vous souhaitez la liste exhaustive, voici le lien vers la page du site de Microsoft qui détaille l’ensemble : Liste des services Azure
Comme beaucoup de solutions cloud, ces services sont hébergés dans différents datacenters, localisés dans différents pays.
Azure est déjà une plate-forme applicative cloud complète, mais elle possède également un écosystème intéressant, et notamment :
Azure DevOps qui est une boite à outils pour DevOps assez complète. Elle permet via une seule interface de :
Pour plus d’informations, vous pouvez jeter un œil ici : Documentation Azure Devops
Office365 qui est un service de gestion de postes utilisateurs (en terme 'plus barbare', moderne workplace). Il permet la gestion de ce dont un poste Windows doit avoir besoin. Par exemple les mails, les logiciels.
PowerApps qui est un outil permettant de créer une application avec peu de code. Il est principalement utilisé pour automatiser des processus métier.
La force principale d’Azure (et ce ne sera pas une surprise), est sa compatibilité avec les services Microsoft. En effet, il est simple de coupler son infrastructure cloud Azure avec celle que l’on a en local. Il en est de même avec Office365 vu plus haut et qui est un service qui occupe une place importante chez Microsoft.
Sa seconde force selon moi est son service Azure DevOps. Il permet la mise en place d’une première démarche DevOps assez facilement, avec une administration simplifiée et un côté graphique qui peut être rassurant.
La force principale d’Azure est aussi sa plus grosse faiblesse : le fait qu’il soit aussi bien intégré avec tout ce qui touche à Microsoft et favorise l’accès au service Microsoft peut gêner pour la mise en place de solutions externes. De plus cela crée une dépendance à Microsoft.
Le second mauvais point reste dans le thème. Les licences Microsoft sont très/trop compliquées par rapport à ses concurrents directs comme AWS.
Maintenant que la partie théorique est terminée, passons aux choses sérieuses.
Microsoft fournit un accès pour tester sa solution. Il suffit d'effectuer les étapes suivantes.
Dans ce chapitre, nous verrons ensemble quelques notions importantes complétées par des exemples concrets.
La compréhension de l'arborescence des ressources sur Azure permet de mieux organiser ses ressources et vous simplifiera la vie pour l'administration et la gestion des coûts. Nous avons donc :
Voici un schéma qui résume l'ensemble :
Pour ce premier tutoriel, nous allons effectuer les étapes suivantes :
Reprenons notre compte fraîchement créé.
Nous allons commencer par vérifier que nous possédons bien un abonnement.
Nous avons un abonnement fonctionnel, nous allons ajouter un 'Groupe de ressources' dans laquelle mettre notre machine Virtuelle
Nous allons créer et ajouter un Groupe de sécurité réseau. C'est l'équivalant du 'pare-feu' version Azure.
Le choix du nombre pour indiquer la priorité est simple. Plus le nombre est petit, plus il sera traité avant les autres. Les règles de blocages ont des nombres plus grand que ceux qui autorisent.
La règle ajoutée permet de se connecter à la machine virtuelle en étant hors du réseau Azure.
Nous allons maintenant vérifier la connexion à la machine virtuelle.
Pour terminer ce tutoriel, supprimez vos ressources
az resource delete
--resource-group article_eleven
--name article-eleven-vm
--resource-type "Microsoft.Compute/virtualMachines"
az group delete --name article_eleven
Le nom 'azureuser' est le nom par défaut de l'utilisateur de machine virtuelle Azure. Comme nous ne l'avons pas changé pendant notre installation, nous l'utilisons donc.
Voici un premier aperçu de la solution Azure. Nous avons pu voir rapidement l’utilité de la solution, et en quoi elle et son écosystème peuvent être intéressants. Vous avez aussi fait vos premiers pas sur la solution. Si vous cherchez plus d’information, je ne peux que vous rediriger vers la documentation Microsoft sur le sujet. Dans de prochains articles, nous irons plus loin dans la configuration de la solution et nous verrons les services plus en détail !
Auteur(s)
Guillaume THIBAULT
DevOps Astronaut: Azure, Kubernetes, Terraform
Vous souhaitez en savoir plus sur le sujet ?
Organisons un échange !
Notre équipe d'experts répond à toutes vos questions.
Nous contacterDécouvrez nos autres contenus dans le même thème
Il existe différent format de fichier pour stocker la donnée : parquet, avro, csv. Connaissez-vous le format Delta Lake ? Découvrons les fonctionnalités de ce format.
Dans le domaine de la data, la qualité de la donnée est primordiale. Pour s'en assurer, plusieurs moyens existent, et nous allons nous attarder dans cet article sur l'un d'entre eux : tester unitairement avec Pytest.
Le domaine de la data est présent dans le quotidien de chacun : la majorité de nos actions peut être traduite en données. Le volume croissant de ces données exploitables a un nom : "Big Data". Dans cet article, nous verrons comment exploiter ce "Big data" à l'aide du framework Apache Spark.