Fondements de l'ingénierie des données dans Databricks

Concepts de Databricks

Kevin Barlow

Data Practitioner

Architecture Medallion

Schéma de l'architecture Medallion

Concepts de Databricks

Lecture des données

Spark est un cadre très flexible qui peut lire diverses sources et catégories de données.

Sources et types courants :

  • Tables Delta
  • Formats de fichier (CSV, JSON, Parquet, XML)
  • Bases de données (MySQL, Postgres, EDW)
  • Données en continu
  • Images / vidéos

Sources de données - Formats de fichier

Sources de données - Bases de données

Sources de données - Nouveaux formats

Concepts de Databricks

Lecture des données

Spark est un cadre très flexible qui peut lire diverses sources et catégories de données.

Sources et types courants :

  • Tables Delta
  • Formats de fichier (CSV, JSON, Parquet, XML)
  • Bases de données (MySQL, Postgres, EDW)
  • Données en continu
  • Images / vidéos
#Table Delta
spark.read.table()
#Fichiers CSV
spark.read.format('csv').load('*.csv')
#Table Postgres
spark.read.format("jdbc")
  .option("driver", driver)
  .option("url", url)
  .option("dbtable", table)
  .option("user", user)
  .option("password", password)
  .load()
Concepts de Databricks

Structure d'une table Delta

Une table Delta apporte des propriétés de table à un format de fichier ouvert.

  • Se lit comme une table
  • Accès aux fichiers sous-jacents (Parquet et JSON)

Structure Delta

Concepts de Databricks

Expliquer la structure de Delta Lake

Carte de recette - Photo du plat

Carte de recette - Ingrédients et étapes

Concepts de Databricks

DataFrames

Les DataFrames sont des représentations bidimensionnelles des données.

  • Aspect et usage proches des tables
  • Concept partagé par de nombreux outils
    • Spark (par défaut), pandas, dplyr, requêtes SQL
  • Base de la plupart des traitements de données
id customerName bookTitle
1 John Data Guide to Spark
2 Sally Bricks SQL for Data Engineering
3 Adam Delta Keeping Data Clean
df = (spark.read
  .format("csv")
  .option("header", "true")
  .option("inferSchema", "true")
  .load("/data.csv"))
Concepts de Databricks

Écriture des données

Types de tables dans Databricks

  1. Tables gérées
    • Type par défaut
    • Stockées avec Unity Catalog
    • Gérées par Databricks
  2. Tables externes
    • Stockées à un autre emplacement
    • Définir LOCATION
    • Gérées par le client
df.write.saveAsTable(table_name)

CREATE TABLE table_name 
USING delta 
AS ...
df.write
  .location('').saveAsTable(table_name)

CREATE TABLE table_name 
USING delta 
LOCATION "<path>" 
AS ...
Concepts de Databricks

Passons à la pratique !

Concepts de Databricks

Preparing Video For Download...