Основи Data Engineering у Databricks

Концепції Databricks

Kevin Barlow

Data Practitioner

Архітектура Medallion

Схема архітектури Medallion

Концепції Databricks

Зчитування даних

Spark — дуже гнучкий фреймворк і може читати з різних джерел і типів даних.

Поширені джерела й типи даних:

  • Таблиці Delta
  • Файлові формати (CSV, JSON, Parquet, XML)
  • Бази даних (MySQL, Postgres, EDW)
  • Потокові дані
  • Зображення / відео

Джерела даних — файлові формати

Джерела даних — бази даних

Джерела даних — нові формати

Концепції Databricks

Зчитування даних

Spark — дуже гнучкий фреймворк і може читати з різних джерел і типів даних.

Поширені джерела й типи даних:

  • Таблиці Delta
  • Файлові формати (CSV, JSON, Parquet, XML)
  • Бази даних (MySQL, Postgres, EDW)
  • Потокові дані
  • Зображення / відео
#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

Структура таблиці Delta

Таблиця Delta надає відкритому формату файлів властивості, подібні до таблиці.

  • Під час читання сприймається як таблиця
  • Доступ до базових файлів (Parquet і JSON)

Структура Delta

Концепції Databricks

Пояснення структури Delta Lake

Картка рецепта — фото страви

Картка рецепта — інгредієнти та кроки

Концепції Databricks

DataFrames

DataFrame — це двовимірне подання даних.

  • Виглядає й поводиться як таблиця
  • Подібна концепція в багатьох інструментах
    • Spark (типово), pandas, dplyr, SQL-запити
  • Базова структура для більшості процесів обробки даних
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

Запис даних

Види таблиць у Databricks

  1. Керовані таблиці
    • Тип за замовчуванням
    • Зберігаються в Unity Catalog
    • Керуються Databricks
  2. Зовнішні таблиці
    • Зберігаються в іншому місці
    • Встановіть LOCATION
    • Керуються клієнтом
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

Давайте потренуємось!

Концепції Databricks

Preparing Video For Download...