Завантаження

Вступ до Data Engineering

Vincent Vankrunkelsven

Data Engineer @ DataCamp

Бази даних для аналітики чи застосунків

Аналітика

Піктограма, що позначає аналітику

  • Агрегувальні запити
  • Онлайн-аналітична обробка (OLAP)

Застосунки

Піктограма, що позначає застосунки

  • Багато транзакцій
  • Онлайн-обробка транзакцій (OLTP)
Вступ до Data Engineering

Колонкове й рядкове зберігання

Аналітика

  • Колонково-орієнтована

Приклад колонкового зберігання

  • Запити до підмножини колонок
  • Паралелізація

Застосунки

  • Рядково-орієнтована

Приклад рядкового зберігання

  • Зберігається по записах
  • Додається по транзакціях
  • Напр., додати клієнта — швидко
Вступ до Data Engineering

MPP-бази даних

Бази даних з масовим паралельним опрацюванням

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

 

  • Amazon Redshift
  • Azure SQL Data Warehouse
  • Google BigQuery
Вступ до Data Engineering

Приклад: 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
...
Вступ до Data Engineering

Завантаження до 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")
Вступ до Data Engineering

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

Вступ до Data Engineering

Preparing Video For Download...