Laden

Introductie tot Data Engineering

Vincent Vankrunkelsven

Data Engineer @ DataCamp

Databases voor analytics of applicaties

Analytics

Pictogram dat analytics weergeeft

  • Aggregatie-queries
  • Online Analytical Processing (OLAP)

Applicaties

Pictogram dat applicaties weergeeft

  • Veel transacties
  • Online Transaction Processing (OLTP)
Introductie tot Data Engineering

Kolom- vs. rij-georiënteerd

Analytics

  • Kolom-georiënteerd

Voorbeeld van kolom-georiënteerde opslag

  • Queries op subset van kolommen
  • Parallelisatie

Applicaties

  • Rij-georiënteerd

Voorbeeld van rij-georiënteerde opslag

  • Per record opgeslagen
  • Per transactie toegevoegd
  • Bijv. klant toevoegen is snel
Introductie tot Data Engineering

MPP-databases

Massively Parallel Processing-databases

Diagram van MPP-database

 

  • Amazon Redshift
  • Azure SQL Data Warehouse
  • Google BigQuery
Introductie tot Data Engineering

Een voorbeeld: Redshift

Laden van bestand naar kolom-georiënteerd opslagformaat

# 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
...
Introductie tot Data Engineering

Laden naar PostgreSQL

pandas.to_sql()

# Transformatie op data
recommendations = transform_find_recommendatins(ratings_df)

# Laden in PostgreSQL-database
recommendations.to_sql("recommendations",
                       db_engine,
                       schema="store",
                       if_exists="replace")
Introductie tot Data Engineering

Laten we oefenen!

Introductie tot Data Engineering

Preparing Video For Download...