Загрузка

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

Vincent Vankrunkelsven

Data Engineer, DataCamp

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

Аналитика

Значок аналитики

  • Агрегатные запросы
  • Оперативная аналитическая обработка (OLAP)

Приложения

Значок приложений

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

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

Аналитика

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

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

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

Приложения

  • Строковое хранение

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

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

MPP-базы данных

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

Схема 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...