Dans le dernier article sur DBT, je souhaite partager une traduction de l'affaire par Stefano Solimito, dans laquelle il a parlé de son expérience d'utilisation de cet outil au Telegraph.
Mes précédents articles sur DBT:
Modélisation des données: un aperçu
Modélisation des données: pourquoi vous en avez besoin et comment l'implémenter
Qu'est-ce que la DBT et pourquoi avez-vous besoin d'analyses marketing
Le Telegraph est une entreprise de 164 ans dans laquelle les données ont toujours joué un rôle central. Avec l'avènement du cloud et la nécessité de traiter une énorme quantité de données en 2015, nous avons commencé à construire notre plateforme basée sur Google Cloud et avons continué à l'améliorer au fil des ans.
Une tâche
Au cours des 4 dernières années, j'ai eu plusieurs discussions sur la manière d'organiser la transformation des données ou, plus largement, les processus d'extraction, de transformation et de chargement (ETL). Le nombre d'outils sur le marché est énorme et le choix de la mauvaise technologie peut affecter négativement la qualité des données et les décisions qui en découlent.
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, , , .
La création de la documentation pour BigQuery prend beaucoup de temps en raison d'une mise en œuvre médiocre qui analyse tous les segments de l'ensemble de données.
DBT ne couvre que T dans ETL, vous avez donc besoin d'autres outils pour effectuer l'extraction et le chargement des données dans l'entrepôt.