Bekerja dengan dbt yang diberdayakan oleh Google BigQuery

Suatu hari saya menonton webinar OWOX, di mana Andrey Osipov (analis web, penulis blog web-analytics.me dan dosen di Sekolah Analisis Web Andrey Osipov) berbicara tentang pengalamannya menggunakan dbt. Dia berbicara tentang untuk siapa alat itu akan berguna dan masalah apa yang dipecahkannya, dan yang terpenting, bagaimana tidak tersesat dengan hierarki tabel yang kompleks dan memastikan bahwa semua data dianggap benar. Saya memutuskan untuk mentranskripsikan webinar menjadi artikel, karena lebih mudah untuk kembali ke informasinya, dan ada di sini, percayalah, sepadan.





Mengapa Anda membutuhkan dbt

SQL-? Google BigQuery, Google Cloud , , scheduled queries.





, ( ) 2-4 , . 





, .





. , CRM, , , , Google BigQuery .





, β€” . , , , , . 





, . , , β€” . 





( scheduled queries) : 





  1. . scheduled query , . , , . , 5 . - , 7 . . - , 40.





  2. . Google Docs , , .. , . , . .





  3. . , , , Google BigQuery . , . , . - . , timestamp . 





  4. SQL. , , . BigQuery. , dbt GBQ 20 , . , .





. , dbt. 





dbt (data build tool)

SQL , . dbt? -, , -, , . , . 









dbt.









  1. .





  2. , . Cloud Functions, Cloud Run, OWOX BI Pipeline .





  3. , : , , .





  4. , BI- - . 





dbt β€” , , . , scheduled queries.





dbt

dbt : . 





β€” , , view table.





(.sql) β€” , SELECT-.





, . , (, ) descriptions . 





, BigQuery. , , GBQ.





(.yml) β€” , , , .





dbt CLI

dbt : cloud. , Google Cloud . 





. β€” dbt run, . . dbt run, dbt test, , , .





dbt Cloud Source Repositories GitHub. cloud-, dbt . 





dbt : 





  • , Atom, , , , . - . 





  • git push . dbt Cloud Build .





, , - . 





dbt Cloud

, dbt Cloud. - . , , . , . . , β€” $50 . 





dbt 

(Refs…)

β€” . dbt . , -, , -, (Directed Acyclic Graph). 





(Directed Acyclic Graph)

, dbt. , . , , Google BigQuery. , 2-3 , , . 





dbt , . . , . - , .





, , - . , ( , ), . , . 





(Loops)

β€” Jinja. . , , . .





, Google Analytics , , . , - , . . 





, dbt , .. β€” , , . , . , , . 





(Variables)

dbt : . 





(Macros)

, Β«MacrosΒ». . , , . , . 





, dbt .





, , , , .. , - . 





Incremental

, . 





, dbt. BigQuery , select * from [ ], . , GA 4 OWOX BI , . , .





dbt (, order_id), . 





, GA 4 , events, . , , . intraday events . 





, , . , . , (- ), . , , . 





, , . . 





, , .





, dbt:





  • Not Null.





  • Unique.





  • Reference Integrity β€” (, customer_id orders id customers).





  • .





  • Custom data tests.





β€” , , . 





dbt . descriptions, , , , , , Google BigQuery. 





.





DEV β€” TEST β€” PROD

dbt . , , , , , . , Google BigQuery.





Git

dbt Git, GitHub Google Cloud Source Repositories, , .





(Logging via webhooks)

- pop-up Google Cloud, . GBQ , .





dbt

dbt loud

dbt cloud : , , - cron. . , , - . , , . 





schedule, .





Google Cloud β€” Cloud Shell

dbt. Google Cloud , Cloud Shell. , AppEngine. dbt , AppEngine. 





, , , . , .





Google Cloud β€” Cloud Run

dbt, Google Cloud Cloud Run : 





  1. Atom , .





  2. Cloud .





  3. Setelah menerapkan Cloud Build, versi baru Cloud Run kami dibuat dan diluncurkan melalui Cloud Scheduler sesuai dengan jadwal yang diperlukan. 





  4. Sebagai hasil dari pekerjaan dbt, yang ada di Cloud Run, semua ini dihitung di BigQuery, dari mana data tersebut masuk ke Data Studio. 





  5. Log dapat ditambahkan melalui pop-up di Telegram sesuai dengan aturan tertentu - misalnya, tidak semua push, tetapi hanya beberapa perubahan penting. 





Infrastruktur semacam itu membuatnya cukup mudah untuk mentransfer permintaan dari satu proyek Cloud ke proyek lain dan mengontrol semua yang terjadi dengan penghitungan dalam dbt. Dengan menggunakan Git, Anda memahami dengan jelas siapa di tim Anda yang mendorong apa, di mana, mengapa, dan mengapa.








All Articles