Fundamente de inginerie a datelor în Databricks

Concepte Databricks

Kevin Barlow

Data Practitioner

Arhitectura Medallion

Diagramă arhitectură Medallion

Concepte Databricks

Citirea datelor

Spark este un framework foarte flexibil și poate citi din diverse surse/tipuri de date.

Surse și tipuri de date frecvente:

  • Tabele Delta
  • Formate de fișiere (CSV, JSON, Parquet, XML)
  • Baze de date (MySQL, Postgres, EDW)
  • Date în flux
  • Imagini / Videoclipuri

Surse de date - Formate de fișiere

Surse de date - Baze de date

Surse de date - Formate noi

Concepte Databricks

Citirea datelor

Spark este un framework foarte flexibil și poate citi din diverse surse/tipuri de date.

Surse și tipuri de date frecvente:

  • Tabele Delta
  • Formate de fișiere (CSV, JSON, Parquet, XML)
  • Baze de date (MySQL, Postgres, EDW)
  • Date în flux
  • Imagini / Videoclipuri
#Delta table
spark.read.table()
#CSV files
spark.read.format('csv').load('*.csv')
#Postgres table
spark.read.format("jdbc")
  .option("driver", driver)
  .option("url", url)
  .option("dbtable", table)
  .option("user", user)
  .option("password", password)
  .load()
Concepte Databricks

Structura unui tabel Delta

Un tabel Delta oferă calități de tip tabel unui format de fișier deschis.

  • Se comportă ca un tabel la citire
  • Acces la fișierele de bază (Parquet și JSON)

Structura Delta

Concepte Databricks

Explicarea structurii Delta Lake

Fișă rețetă - Fotografie mâncare

Fișă rețetă - Ingrediente și pași

Concepte Databricks

DataFrame-uri

DataFrame-urile sunt reprezentări bidimensionale ale datelor.

  • Similare ca aspect cu tabelele
  • Concept comun pentru multe instrumente de date
    • Spark (implicit), pandas, dplyr, interogări SQL
  • Structura de bază pentru majoritatea proceselor de date
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"))
Concepte Databricks

Scrierea datelor

Tipuri de tabele în Databricks

  1. Tabele gestionate
    • Tip implicit
    • Stocate în Unity Catalog
    • Gestionate de Databricks
  2. Tabele externe
    • Stocate în altă locație
    • Se setează LOCATION
    • Gestionate de 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 ...
Concepte Databricks

Să exersăm!

Concepte Databricks

Preparing Video For Download...