No artigo final sobre DBT, quero compartilhar uma tradução do caso de Stefano Solimito, na qual ele falou sobre sua experiência de usar essa ferramenta no The Telegraph.
Meus artigos anteriores sobre DBT:
Modelagem de dados: uma visão geral
Modelagem de dados: por que você precisa e como implementá-la
O que é dbt e por que você precisa de análises de marketing
The Telegraph é uma empresa de 164 anos na qual os dados sempre desempenharam um papel central. Com o advento da nuvem e a necessidade de processar uma grande quantidade de dados em 2015, começamos a construir nossa plataforma baseada no Google Cloud e continuamos a aprimorá-la ao longo dos anos.
Uma tarefa
Nos últimos 4 anos, tive várias discussões sobre como organizar a transformação de dados ou, mais amplamente, os processos de extração, transformação e carregamento (ETL). O número de ferramentas no mercado é enorme, e escolher a tecnologia errada pode afetar negativamente a qualidade dos dados e as decisões baseadas neles.
The Telegraph Cloud Storage BigQuery. Google, ETL Dataflow (Apache Beam). . , , , .
Apache Beam :
Java SDK , Python SDK. Python, Java — . , data scientists Python, , .
, , BigQuery. , Apache Beam ETL.
Dataflow Google, 2015 , AWS, ..
, , SQL, , SQL Java Python.
: - Apache Beam, .
Google Cloud Platform (GCP), , , Dataproc. Spark Hadoop GCP, . Hadoop, .
, - — Talend ( ). , , , :
.
CI/CD, .
, , . , .
Talend, .
ETL , , .
Python ETL , Google AWS, . . , , , . -, .
2019 DBT Python Apache Beam .
DBT
DBT (Data Building Tool) — , , .
DBT T () ETL-, (E) (L). . DBT 280 , The Telegraph .
DBT — , SQL-, .
, :
Postgres
Redshift
BigQuery
Snowflake
Presto
DBT pip ( Python). : (CLI) (UI). DBT Python , .
CLI : , , ..
UI .
, DBT . , . , , .
DBT : «dbt init» . , data- .
DBT . , (dbt_project.yml), .
DBT . — , , . (DW). Jinja2, :
.
SQL , .
, .
, BigQuery Standard SQL.
Jinja , , . Jinja , , .
DBT . , , , . , , , , , .
data-driven , , . DBT , .
YAML, , .
:
sk_interaction, bk_source_driver .
count_interactions
fk_interaction_detail , , fk_interaction_detail sk_interaction_detail. , .
fk_interaction_text .
Performance_band .
SQL.
, «bk_source_driver» «fact_interaction» 5% , NULL.
DBT . YAML , DBT.
, Sharded BigQuery Tables. . «execution_date» DBT , .
DBT (), , , SQL .
«execution_date» , .
Telegraph DBT ( ) . , . , .
:
, .
.
DBT .
. SQL Python, , DBT.
DBT. .
. , BigQuery Snowflake.
- DBT .
( , , ) .
. , .
, .
:
SQL: .
. , DBT. UI, , , .
Leva muito tempo para criar a documentação do BigQuery devido a uma implementação inadequada que verifica todos os segmentos no conjunto de dados.
O DBT cobre apenas T em ETL, portanto, você precisa de outras ferramentas para realizar a extração de dados e o carregamento no warehouse.