Základy datového inženýrství v Databricks

Databricks Concepts

Kevin Barlow

Data Practitioner

Medailonová architektura

Diagram medailonové architektury

Databricks Concepts

Čtení dat

Spark je velmi flexibilní framework a dokáže číst z různých zdrojů a formátů dat.

Běžné zdroje a typy dat:

  • Delta tabulky
  • Formáty souborů (CSV, JSON, Parquet, XML)
  • Databáze (MySQL, Postgres, EDW)
  • Streamovaná data
  • Obrázky / videa

Zdroje dat – formáty souborů

Zdroje dat – databáze

Zdroje dat – nové formáty

Databricks Concepts

Čtení dat

Spark je velmi flexibilní framework a dokáže číst z různých zdrojů a formátů dat.

Běžné zdroje a typy dat:

  • Delta tabulky
  • Formáty souborů (CSV, JSON, Parquet, XML)
  • Databáze (MySQL, Postgres, EDW)
  • Streamovaná data
  • Obrázky / videa
#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()
Databricks Concepts

Struktura Delta tabulky

Delta tabulka poskytuje vlastnosti tabulky pro otevřený formát souborů.

  • Při čtení se chová jako tabulka
  • Přístup k podkladovým souborům (Parquet a JSON)

Struktura Delta

Databricks Concepts

Struktura Delta Lake

Receptní karta – fotografie jídla

Receptní karta – ingredience a postup

Databricks Concepts

DataFrames

DataFrames jsou dvourozměrné reprezentace dat.

  • Podobají se tabulkám
  • Koncept sdílený mnoha datovými nástroji
    • Spark (výchozí), pandas, dplyr, SQL dotazy
  • Základní stavební prvek většiny datových procesů
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"))
Databricks Concepts

Zápis dat

Typy tabulek v Databricks

  1. Spravované tabulky
    • Výchozí typ
    • Uloženy v Unity Catalog
    • Spravovány Databricks
  2. Externí tabulky
    • Uloženy na jiném místě
    • Nastavení LOCATION
    • Spravovány zákazníkem
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 ...
Databricks Concepts

Pojďme cvičit!

Databricks Concepts

Preparing Video For Download...