DBT: Cara Baru untuk Mengubah Data di Telegraph

Pada artikel terakhir tentang DBT, saya ingin membagikan terjemahan kasus Stefano Solimito, di mana dia berbicara tentang pengalamannya menggunakan alat ini di The Telegraph.





Artikel saya sebelumnya tentang DBT:





The Telegraph adalah perusahaan berusia 164 tahun yang datanya selalu memainkan peran sentral. Dengan munculnya cloud dan kebutuhan untuk memproses data dalam jumlah besar pada tahun 2015, kami mulai membangun platform kami berdasarkan Google Cloud dan terus menyempurnakannya selama bertahun-tahun.





Sebuah tugas

Selama 4 tahun terakhir, saya telah melakukan beberapa diskusi tentang bagaimana mengatur transformasi data atau, lebih luas lagi, proses ekstraksi, transformasi, dan pemuatan (ETL). Jumlah alat di pasar sangat besar, dan memilih teknologi yang salah dapat berdampak negatif pada kualitas data dan keputusan yang didasarkan padanya. 





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, , , .





  • Perlu waktu lama untuk membuat dokumentasi untuk BigQuery karena implementasi yang buruk yang memindai semua segmen dalam kumpulan data.





  • DBT hanya mencakup T di ETL, jadi Anda memerlukan alat lain untuk melakukan ekstraksi dan pemuatan data ke gudang.








All Articles