Основы дата-инжиниринга в Databricks

Концепции Databricks

Kevin Barlow

Data Practitioner

Медальонная архитектура

Диаграмма медальонной архитектуры

Концепции 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...