DBT:テレグラフのデータを変換する新しい方法

DBTに関する最後の記事では、Stefano Solimitoによるケースの翻訳を共有したいと思います。彼は、TheTelegraphでこのツールを使用した経験について話しました。





DBTに関する私の以前の記事:





Telegraphは、データが常に中心的な役割を果たしてきた164年の歴史を持つ会社です。クラウドの出現と2015年の大量のデータの処理の必要性に伴い、Google Cloudをベースにしたプラットフォームの構築を開始し、長年にわたって改善を続けてきました。





仕事

過去4年間、私はデータ変換、またはより広義には抽出、変換、および読み込み(ETL)プロセスを編成する方法についていくつかの議論をしました。市場に出回っているツールの数は膨大であり、間違ったテクノロジーを選択すると、データの品質とそれに基づく意思決定に悪影響を与える可能性があります。 





電信のデータ湖によって供給されるクラウドストレージBigQueryのGoogleによると、この場合、ETLを実行するにはDataflowApache 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, , , .





  • データセット内のすべてのセグメントをスキャンする実装が不十分なため、BigQueryのドキュメントを作成するのに長い時間がかかります。





  • DBTはETLのTのみを対象としているため、データの抽出とウェアハウスへのロードを実行するには、他のツールが必要です。








All Articles