Carregamento

Introdução à Engenharia de Dados

Vincent Vankrunkelsven

Data Engineer @ DataCamp

Bancos para analytics ou aplicações

Analytics

Ícone representando analytics

  • Consultas agregadas
  • Processamento analítico online (OLAP)

Aplicações

Ícone representando aplicações

  • Muitas transações
  • Processamento de transações online (OLTP)
Introdução à Engenharia de Dados

Orientação a colunas vs. linhas

Analytics

  • Orientado a colunas

Exemplo de armazenamento por coluna

  • Consultas em subconjunto de colunas
  • Paralelização

Aplicações

  • Orientado a linhas

Exemplo de armazenamento por linha

  • Armazenado por registro
  • Inserido por transação
  • Ex.: adicionar cliente é rápido
Introdução à Engenharia de Dados

Bancos MPP

Bancos MPP (Processamento Massivo Paralelo)

Diagrama de banco MPP

 

  • Amazon Redshift
  • Azure SQL Data Warehouse
  • Google BigQuery
Introdução à Engenharia de Dados

Exemplo: Redshift

Carregue de arquivo para formato colunar

# Método .to_parquet() do Pandas
df.to_parquet("./s3://path/to/bucket/customer.parquet")
# Método .write.parquet() do PySpark
df.write.parquet("./s3://path/to/bucket/customer.parquet")
COPY customer
FROM 's3://path/to/bucket/customer.parquet'
FORMAT as parquet
...
Introdução à Engenharia de Dados

Carregar no PostgreSQL

pandas.to_sql()

# Transformação nos dados
recommendations = transform_find_recommendatins(ratings_df)

# Carregar no banco PostgreSQL
recommendations.to_sql("recommendations",
                       db_engine,
                       schema="store",
                       if_exists="replace")
Introdução à Engenharia de Dados

Vamos praticar!

Introdução à Engenharia de Dados

Preparing Video For Download...