Загрузка

Введение в дата-инжиниринг

Vincent Vankrunkelsven

Data Engineer @ DataCamp

Базы данных для аналитики и приложений

Аналитика

Иконка аналитики

  • Агрегирующие запросы
  • Онлайн-аналитическая обработка данных (OLAP)

Приложения

Иконка приложений

  • Множество транзакций
  • Онлайн-обработка транзакций (OLTP)
Введение в дата-инжиниринг

Столбцовая и строковая ориентация

Аналитика

  • Столбцовая ориентация

Пример столбцового хранилища

  • Запросы по подмножеству столбцов
  • Параллельная обработка

Приложения

  • Строковая ориентация

Пример строкового хранилища

  • Хранение по записям
  • Добавление при транзакции
  • Например, добавление клиента выполняется быстро
Введение в дата-инжиниринг

MPP Databases

Базы данных с массовой параллельной обработкой

Схема MPP-базы данных

 

  • Amazon Redshift
  • Azure SQL Data Warehouse
  • Google BigQuery
Введение в дата-инжиниринг

Пример: Redshift

Загрузка из файла в столбцовый формат хранения

# Pandas .to_parquet() method
df.to_parquet("./s3://path/to/bucket/customer.parquet")
# PySpark .write.parquet() method
df.write.parquet("./s3://path/to/bucket/customer.parquet")
COPY customer
FROM 's3://path/to/bucket/customer.parquet'
FORMAT as parquet
...
Введение в дата-инжиниринг

Загрузка в PostgreSQL

pandas.to_sql()

# Transformation on data
recommendations = transform_find_recommendatins(ratings_df)

# Load into PostgreSQL database
recommendations.to_sql("recommendations",
                       db_engine,
                       schema="store",
                       if_exists="replace")
Введение в дата-инжиниринг

Давайте потренируемся!

Введение в дата-инжиниринг

Preparing Video For Download...