Im letzten Artikel über DBT möchte ich eine Übersetzung des Falls von Stefano Solimito veröffentlichen, in der er über seine Erfahrungen mit diesem Tool bei The Telegraph sprach.
Meine vorherigen Artikel zu DBT:
Datenmodellierung: Ein Überblick
Datenmodellierung: Warum Sie sie benötigen und wie Sie sie implementieren
Was ist dbt und warum benötigen Sie Marketinganalysen?
The Telegraph ist ein 164 Jahre altes Unternehmen, in dem Daten immer eine zentrale Rolle gespielt haben. Mit dem Aufkommen der Cloud und der Notwendigkeit, 2015 eine große Datenmenge zu verarbeiten, haben wir begonnen, unsere Plattform auf der Basis von Google Cloud aufzubauen, und sie im Laufe der Jahre weiter verbessert.
Eine Aufgabe
In den letzten 4 Jahren habe ich mehrere Diskussionen darüber geführt, wie Datentransformationen oder allgemein Extraktions-, Transformations- und Ladeprozesse (ETL) organisiert werden können. Die Anzahl der Tools auf dem Markt ist enorm, und die Auswahl der falschen Technologie kann sich negativ auf die Qualität der Daten und die darauf basierenden Entscheidungen auswirken.
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, , , .
Das Erstellen der Dokumentation für BigQuery dauert aufgrund einer schlechten Implementierung, die alle Segmente im Dataset scannt, sehr lange.
DBT deckt nur T in ETL ab, sodass Sie andere Tools benötigen, um Daten zu extrahieren und in das Warehouse zu laden.