Comment utiliser Azure Synapse Analytics pour interroger un lac de données (2023)

Dans cet article, nous allons explorer comment utiliser Azure Synapse Analytics pour interroger un lac de données et traiter les informations dans Azure. Nous examinerons les composants clés d'Azure Synapse, tels que le Spark Pool et le Serverless Pool, ainsi que la création de tables à l'aide de Spark pour éviter des étapes supplémentaires et préparer les données dans une architecture en médaille.

Azure Data Lake : une solution de stockage économique

Azure Data Lake est un service de stockage proposé par Azure Cloud. Il s'agit d'une solution de stockage extrêmement économique, où les données peuvent être collectées dans un système de fichiers hiérarchique. Contrairement au stockage de blocs, où les données sont conservées dans une structure totalement plate, Azure Data Lake prend en charge la gestion des autorisations pour des dossiers séparés, tout comme dans un système de fichiers informatique.

Azure Synapse : un service d'analyse puissant

Azure Synapse est un service d'analyse proposé par Azure Cloud. Il offre la possibilité de charger, de manipuler et d'analyser des données. Il comprend plusieurs composants qui fonctionnent ensemble pour créer une plateforme analytique complète, notamment les pipelines pour orchestrer le traitement des données, les flux de données pour effectuer des manipulations de données sans écrire de code, Spark pour combiner du code en direct à l'aide de Python, Scala, .NET ou Spark SQL, SQL Serverless pour interroger les données à l'aide de SQL, et SQL Pools pour déployer un entrepôt de données SQL dédié.

Spark Pool : un moteur de traitement de données

Comme d'autres plateformes Cloud, Azure nous offre un moteur Spark que nous pouvons utiliser pour traiter des fichiers. Nous avons une couche brute où nous conservons des fichiers au format CSV qui nécessitent un processus de nettoyage pour préparer les fichiers à l'interrogation. Nous utilisons PySpark pour transformer les données, changer les noms de colonnes, convertir les types de données, filtrer les données et les enregistrer dans une table au format parquet. Voici un exemple de script pour simuler le processus de transformation:

from pyspark.sql.functions import *
df = spark.read.load('abfss://raw@xxx.dfs.core.windows.net/stocks/stocks/', format='csv', header=True)
df = df.withColumnRenamed("v", "value")
df = df.withColumn("value", regexp_replace(col("value")," ",""))
display(df.limit(50))

Une fois les transformations terminées et les résultats requis obtenus, nous sommes prêts à exécuter le code qui créera une table. La table peut être utilisée comme source pour des requêtes dans le Serverless Pool. Voici un exemple de script pour enregistrer la table dans le lac de données:

df.write.format("parquet") \
.mode("overwrite") \
.partitionBy("ticker") \
.option("path", "abfss://silver@xxx.dfs.core.windows.net/stocks/") \
.saveAsTable("stocks")

Serverless Pool : une solution de requête flexible

Le Serverless Pool est une partie de l'espace de travail Azure Synapse Analytics qui peut être utilisée pour interroger les données dans le lac de données Azure. Il prend en charge des formats tels que Parquet, Delta et CSV, et vous permet de interroger les données directement à partir du lac de données en utilisant la syntaxe T-SQL. Le Serverless Pool est un système de traitement de données distribué qui ne nécessite pas de configuration d'infrastructure ou de maintenance de clusters. L'endpoint par défaut de ce service est fourni dans chaque espace de travail Azure Synapse, vous pouvez donc commencer à interroger les données dès que l'espace de travail est créé. Vous ne serez facturé que pour ce service en fonction des données traitées par vos requêtes.

Création de tables avec Spark et Serverless Pool

L'espace de travail Azure Synapse Analytics vous permet de créer deux types de bases de données sur le lac de données : les bases de données Lake et les bases de données SQL. Les bases de données Lake vous permettent de définir des tables sur le lac de données à l'aide d'Apache Spark. Ces tables seront disponibles pour l'interrogation à l'aide de Spark et du Serverless Pool. Les bases de données SQL vous permettent de définir vos propres bases de données et tables directement à l'aide des pools SQL sans serveur. Vous pouvez utiliser les commandes CREATE DATABASE et CREATE EXTERNAL TABLE de T-SQL pour définir les objets et ajouter des vues et des procédures SQL supplémentaires.

Conclusion

Dans cet article, nous avons exploré comment utiliser Azure Synapse Analytics pour interroger un lac de données et traiter les informations dans Azure. Nous avons examiné les composants clés d'Azure Synapse, tels que le Spark Pool et le Serverless Pool, ainsi que la création de tables à l'aide de Spark pour éviter des étapes supplémentaires et préparer les données dans une architecture en médaille. En utilisant Azure Synapse Analytics, vous pouvez tirer parti de la puissance de l'analyse de données dans le Cloud pour obtenir des informations précieuses à partir de votre lac de données.

References

Top Articles
Latest Posts
Article information

Author: Ms. Lucile Johns

Last Updated: 11/11/2023

Views: 6349

Rating: 4 / 5 (41 voted)

Reviews: 80% of readers found this page helpful

Author information

Name: Ms. Lucile Johns

Birthday: 1999-11-16

Address: Suite 237 56046 Walsh Coves, West Enid, VT 46557

Phone: +59115435987187

Job: Education Supervisor

Hobby: Genealogy, Stone skipping, Skydiving, Nordic skating, Couponing, Coloring, Gardening

Introduction: My name is Ms. Lucile Johns, I am a successful, friendly, friendly, homely, adventurous, handsome, delightful person who loves writing and wants to share my knowledge and understanding with you.