Travailler avec dbt optimisé par Google BigQuery

L'autre jour, j'ai regardĂ© le webinaire OWOX, oĂč Andrey Osipov (analyste web, auteur du blog web-analytics.me et confĂ©rencier Ă  la Andrey Osipov School of Web Analytics) a parlĂ© de son expĂ©rience de l'utilisation de dbt. Il a parlĂ© de qui l'outil sera utile et des problĂšmes qu'il rĂ©sout, et surtout, comment ne pas s'Ă©garer avec une hiĂ©rarchie de tables complexe et ĂȘtre sĂ»r que toutes les donnĂ©es sont considĂ©rĂ©es comme correctes. J'ai dĂ©cidĂ© de transcrire le webinaire en article, car il est plus pratique de revenir Ă  l'information, et c'est ici, croyez-moi, ça vaut le coup.





Pourquoi avez-vous besoin de 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. Lors du passage Ă  Cloud Build, une nouvelle version de notre Cloud Run est gĂ©nĂ©rĂ©e et lancĂ©e via Cloud Scheduler selon le calendrier requis. 





  4. À la suite du travail de dbt, qui est dans le Cloud Run, tout cela est calculĂ© dans BigQuery, d'oĂč il va Ă  Data Studio. 





  5. Les journaux peuvent ĂȘtre ajoutĂ©s via des pop-ups dans Telegram selon certaines rĂšgles - par exemple, pas tous push, mais seulement quelques changements importants. 





Une telle infrastructure permet de transfĂ©rer assez facilement des requĂȘtes d'un projet Cloud Ă  un autre et de contrĂŽler tout ce qui se passe avec les calculs en dbt. En utilisant Git, vous comprenez clairement qui dans votre Ă©quipe a poussĂ© quoi, oĂč, pourquoi et pourquoi.








All Articles