# dbt

**URL:** https://discuss.dataengineercafe.io/c/data-tools/dbt/10.md

[Latest](https://discuss.dataengineercafe.io/latest.md) · [Categories](https://discuss.dataengineercafe.io/categories.md) · [Tags](https://discuss.dataengineercafe.io/tags.md)

---

## [About the dbt (data build tool)](https://discuss.dataengineercafe.io/t/about-the-dbt-data-build-tool/26)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 0

</div>

มาพูดคุยเกี่ยวกับ dbt กัน

---

## [การใช้ dbt กับ Apache Spark](https://discuss.dataengineercafe.io/t/dbt-apache-spark/701)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 0\
**Last updated:** [April 10, 2024, 2:35am UTC](https://discuss.dataengineercafe.io/t/dbt-apache-spark/701 "2024-04-10T02:35:00Z")

</div>

เผื่อมีใครอยากลองครับ ผมเขียนบทความไว้ด้านล่างนี้ ลองตามไปอ่านกันดูนะ :blush:

---

## [How to write unit test in dbt](https://discuss.dataengineercafe.io/t/how-to-write-unit-test-in-dbt/693)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 0\
**Last updated:** [March 25, 2024, 2:36am UTC](https://discuss.dataengineercafe.io/t/how-to-write-unit-test-in-dbt/693 "2024-03-25T02:36:54Z")

</div>

กราบขอบคุณ @Napat\_Pianchana สำหรับบทความดี ๆ ในการเขียน Unit Tests ใน dbt ครับผม ใช้ dbt Package ชื่อ dbt-unit-test น่าสนใจดี มี Mock ด้วย งดงาม ๆ ลองตามไปอ่านบทความกัน~

---

## [Dbt เครื่องมือใหม่มาแรงสำหรับงาน Analytics Engineering](https://discuss.dataengineercafe.io/t/dbt-analytics-engineering/690)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 0\
**Last updated:** [March 23, 2024, 8:24am UTC](https://discuss.dataengineercafe.io/t/dbt-analytics-engineering/690 "2024-03-23T08:24:41Z")

</div>

แอดทอยเขียนบทความเกี่ยวกับ dbt ไว้ครับ ครบเครื่องเลยทีเดียว ลองไปอ่านดูได้ ส่วนถ้าใครสนใจเวิร์คชอป ทักเข้าไปได้ครับ อิอิ

---

## [สิ่งนี้ที่รอคอย dbt-core v1.5.0 ออกมาแล้ววว~ คำสั่งใหม่ "show" ช่วยให้เราดูผลลัพธ์ก่อน run ได้](https://discuss.dataengineercafe.io/t/dbt-core-v1-5-0-show-run/574)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 4\
**Last updated:** [May 6, 2023, 1:22pm UTC](https://discuss.dataengineercafe.io/t/dbt-core-v1-5-0-show-run/574 "2023-05-06T13:22:41Z")

</div>

ไปดูฟีเจอร์ใหม่ ๆ กันได้ที่หน้า Release ของเค้ากันได้ ทำไมผมตื่นเต้น? นั่นก็เป็นเพราะว่าเค้ามี command ใหม่ที่ชื่อว่า show ความดีงามคือต่อไปนี้เราสามารถที่จะ preview ผลลัพธ์จากการเขียนโมเดลได้ใน terminal เลย ก่อนที่เร…

---

## [แนะนำของดีสำหรับคนใช้ dbt - dbt\_smart\_run](https://discuss.dataengineercafe.io/t/dbt-dbt-smart-run/576)

<div class="topic-metadata">

**Author:** [@perth](https://discuss.dataengineercafe.io/u/perth)\
**Replies:** 0\
**Last updated:** [May 1, 2023, 7:07am UTC](https://discuss.dataengineercafe.io/t/dbt-dbt-smart-run/576 "2023-05-01T07:07:51Z")

</div>

เจอมาครัช ไอเดียน่าสนใจ สำหรับ บ ที่มี dbt model เยอะ ๆ จะรู้กันว่าพอโปรเจคใหญ่แล้ว dbt ตอน starting up ใช้เวลาเยอะมากกกก (โปรเจคที่ทำออยู่มีโมเดลหลักพัน รันทีนอนรอได้เลย 555+) Fivetran เค้าเลยเขียนสคริปต์ออกมา ให้มันไ…

---

## [เครื่องมือ dbt Artifacts Parser เผื่อใครอยากดึงข้อมูลจาก dbt Artifacts](https://discuss.dataengineercafe.io/t/dbt-artifacts-parser-dbt-artifacts/545)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 1\
**Last updated:** [March 25, 2023, 7:28am UTC](https://discuss.dataengineercafe.io/t/dbt-artifacts-parser-dbt-artifacts/545 "2023-03-25T07:28:24Z")

</div>

ตอนแรกจะเขียนเอง แต่ดูท่าจะเปลืองพลังไปหน่อย :sweat\_smile: หาตัวช่วยดีกว่า แล้วไปเจอตัวนี้ครับ เผื่อใครอยากดึงข้อมูลจาก dbt artifacts อย่าง catalog.json หรือ run\_restuls.json ก็สามารถใช้ได้ ด้านล่างนี้เป็นโค้ดที่ผมลอ…

---

## [ของดี! dbt\_project\_evaluator ตัวช่วยตรวจสอบโปรเจค dbt ว่ายัง align กับ best practices อยู่ไหม](https://discuss.dataengineercafe.io/t/dbt-project-evaluator-dbt-align-best-practices/465)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 1\
**Last updated:** [December 13, 2022, 12:58pm UTC](https://discuss.dataengineercafe.io/t/dbt-project-evaluator-dbt-align-best-practices/465 "2022-12-13T12:58:27Z")

</div>

ทาง dbt Labs ทำเครื่องมือที่จะช่วยเราคอยเช็ค practices ต่าง ๆ ในโปรเจค dbt ของเราว่ายัง align กันอยู่ไหม ดีงามมาก ๆ :+1: The dbt\_project\_evaluator was born: a dbt package that uses the shared language of SQL, models, a…

---

## [เปิดตัวโปรแกรม dbt Certification แล้วก็เป็นการสอบ Certification แรกในสายงาน dbt Analytics Engineering อีกด้วย!](https://discuss.dataengineercafe.io/t/dbt-certification-certification-dbt-analytics-engineering/284)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 1\
**Last updated:** [November 6, 2022, 11:02pm UTC](https://discuss.dataengineercafe.io/t/dbt-certification-certification-dbt-analytics-engineering/284 "2022-11-06T23:02:58Z")

</div>

เมื่อต้นเดือนที่ผ่านมา มีข่าวจากเว็บไซต์ของ dbt เอง ประกาศว่าเค้าเปิดโปรแกรม dbt Certification ที่ให้เราเข้าไปสอบเก็บ certificate ได้ :star\_struck: ผลประโยชน์ที่เราจะได้รับก็ประมาณนี้ As a dbt Certified Developer, …

---

## [Override merge incremental model ใน dbt](https://discuss.dataengineercafe.io/t/override-merge-incremental-model-dbt/367)

<div class="topic-metadata">

**Author:** [@lif](https://discuss.dataengineercafe.io/u/lif)\
**Replies:** 0\
**Last updated:** [August 7, 2022, 12:14pm UTC](https://discuss.dataengineercafe.io/t/override-merge-incremental-model-dbt/367 "2022-08-07T12:14:18Z")

</div>

dbt incremental models แบบไวๆ เป็นการ insert หรือ update ข้อมูลจาก source table ไปที่ target table แบบยาวๆ Configuring incremental models | dbt Docs (getdbt.com) ในตัวอย่างนี้จะทำการ override get\_merge\_sql ของ dbt …

---

## [ทีม dbt Labs ปล่อยของ! dbt Analytics Engineering Certification Exam Study Guide](https://discuss.dataengineercafe.io/t/dbt-labs-dbt-analytics-engineering-certification-exam-study-guide/359)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 0\
**Last updated:** [August 4, 2022, 12:23am UTC](https://discuss.dataengineercafe.io/t/dbt-labs-dbt-analytics-engineering-certification-exam-study-guide/359 "2022-08-04T00:23:52Z")

</div>

ทางทีม dbt Labs เขียน study guide สำหรับคนที่อยากจะไปสอบ dbt Analytics Engineering certificate :star\_struck: โหลดได้ที่ลิ้งค์ด้านล่างนี้เลยครับ :point\_down: :1st\_place\_medal: :books: dbt\_certificate\_study\_guide.pdf …

---

## [ลบ Deprecated Models ที่ไม่ใช้งานแล้วใน Data Warehouse](https://discuss.dataengineercafe.io/t/deprecated-models-data-warehouse/340)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 0\
**Last updated:** [July 17, 2022, 2:20am UTC](https://discuss.dataengineercafe.io/t/deprecated-models-data-warehouse/340 "2022-07-17T02:20:55Z")

</div>

ใน dbt เราจะมีแต่คำสั่งสร้างพวก models ต่าง ๆ ทีนี้เวลาเราสร้างไปเยอะ ๆ เราก็จะหาไม่ค่อยเจอล่ะว่ามี model ไหนใช้อยู่บ้าง อยากจะลบก็ไม่กล้าลบ แหะ ๆ :sweat\_smile: วิธีหนึ่งคือเราอาจจะเขียน exposures ไว้ แล้วก็คอยมาส่องดู …

---

## [วีดีโอสอนเรื่อง Use hooks to simplify repetitive dbt run activities](https://discuss.dataengineercafe.io/t/use-hooks-to-simplify-repetitive-dbt-run-activities/316)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 0\
**Last updated:** [June 29, 2022, 12:51am UTC](https://discuss.dataengineercafe.io/t/use-hooks-to-simplify-repetitive-dbt-run-activities/316 "2022-06-29T00:51:10Z")

</div>

คนนี้เค้าอธิบายเรื่อง dbt Hooks ไว้ดีเลยทีเดียว มีตัวอย่างด้วย คนนี้เค้าทำ Data Build Tool (dbt) playlist ไว้ด้วย ดีงามมาก :100:

---

## [ทำงานกับ dbt ง่ายขึ้นด้วย vscode-dbt-power-user](https://discuss.dataengineercafe.io/t/dbt-vscode-dbt-power-user/313)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 0\
**Last updated:** [June 28, 2022, 12:18am UTC](https://discuss.dataengineercafe.io/t/dbt-vscode-dbt-power-user/313 "2022-06-28T00:18:21Z")

</div>

ไปเจอ VS Code extension นี้มาครับ ดีงาม~ ช่วยให้ทำงานกับ dbt ได้ง่ายขึ้นมากเลย :heart\_eyes: This extension makes vscode seamlessly work with dbt. Main features: Go to the definition of any models, macro’s and sour…

---

## [เก็บผลของ Test Failures ไว้ตรวจสอบ ตอนที่เราสั่ง dbt test](https://discuss.dataengineercafe.io/t/test-failures-dbt-test/304)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 0\
**Last updated:** [June 18, 2022, 2:47am UTC](https://discuss.dataengineercafe.io/t/test-failures-dbt-test/304 "2022-06-18T02:47:16Z")

</div>

ในการทดสอบพวก data quality เราสามารถใช้คำสั่ง dbt test ได้ แต่เราก็จะเห็นแค่ว่า test ของเรา fail เฉย ๆ เอง ซึ่งจะดีมาก ๆ เลยถ้าเราสามารถรู้ได้ว่าข้อมูลไหนนะ ที่ทำให้ test ของเรา fail สมมุติว่าผมมีการทดสอบ accepted value…

---

## [การวาง Project Structure ของ dbt และ Practices ต่าง ๆ](https://discuss.dataengineercafe.io/t/project-structure-dbt-practices/300)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 0\
**Last updated:** [June 15, 2022, 1:27am UTC](https://discuss.dataengineercafe.io/t/project-structure-dbt-practices/300 "2022-06-15T01:27:54Z")

</div>

ผมอ้างอิงการวาง project structure จากโพสต์นี้จาก dbt community ครับ แล้วก็มี practices ต่าง ๆ ให้เราด้วย เผื่อเอาไปใช้เป็น guideline ในทีมกัน ส่วนพวก style guide เพิ่มเติม ผมอ้างอิงจากลิ้งค์ด้านล่างนี้ แล้วก็ถ้าเป็…

---

## [ประโยชน์ของการสร้างโมเดลแบบ Ephemeral ใน dbt](https://discuss.dataengineercafe.io/t/ephemeral-dbt/289)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 0\
**Last updated:** [June 10, 2022, 3:13am UTC](https://discuss.dataengineercafe.io/t/ephemeral-dbt/289 "2022-06-10T03:13:46Z")

</div>

พอดีลงคอร์ส Analytics Engineering with dbt ของ co:rise ไว้ แล้วมีคนถามเรื่อง ephemeral ซึ่งผมก็สงสัยเหมือนกันว่าจริง ๆ แล้วมันเอาไปใช้ใน use case ประมาณไหนนะ ทีนี้ Miles Russell (Sr Analytics Engineer @ GitLab) เค้ามาช่…

---

## [Private key เจ้าปัญหา กับ env\_var ใน dbt](https://discuss.dataengineercafe.io/t/private-key-env-var-dbt/203)

<div class="topic-metadata">

**Author:** [@atb](https://discuss.dataengineercafe.io/u/atb)\
**Replies:** 0\
**Last updated:** [April 20, 2022, 10:07am UTC](https://discuss.dataengineercafe.io/t/private-key-env-var-dbt/203 "2022-04-20T10:07:37Z")

</div>

จากบล็อก วิธีใส่ Private Key หรือ Secret ที่มี Special Char ใน AWS Secrets Manager ที่พี่ @zkan เขียนไว้ จะเห็นได้ว่าเจ้า private key ชอบมีเรื่องมีราวให้ได้เห็นอยู่บ่อย ๆ การใช้ private key ผ่าน env\_var บน dbt ก็ม…

---

## [Using variables in the dbt model](https://discuss.dataengineercafe.io/t/using-variables-in-the-dbt-model/198)

<div class="topic-metadata">

**Author:** [@atb](https://discuss.dataengineercafe.io/u/atb)\
**Replies:** 1\
**Last updated:** [April 19, 2022, 5:01am UTC](https://discuss.dataengineercafe.io/t/using-variables-in-the-dbt-model/198 "2022-04-19T05:01:23Z")

</div>

การเอา value มาสร้างเป็น variable เป็นการช่วยสื่อความหมายของ value นั้น ๆ ให้ชัดเจนมากขึ้น แถมยังช่วยให้ query อ่านง่าย เป็นระเบียบ สามารถเรียกใช้ value นั้นซ้ำได้หลายจุด และยังสามารถปรับเปลี่ยน value นั้น ๆ ได้โดยง่ายอี…

---

## [Sawasdee dbt: The Data Transformation Tool that Makes Analytics Engineering Easier](https://discuss.dataengineercafe.io/t/sawasdee-dbt-the-data-transformation-tool-that-makes-analytics-engineering-easier/145)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 0\
**Last updated:** [March 28, 2022, 6:28am UTC](https://discuss.dataengineercafe.io/t/sawasdee-dbt-the-data-transformation-tool-that-makes-analytics-engineering-easier/145 "2022-03-28T06:28:50Z")

</div>

มีโอกาสได้ไปพูดที่งาน Dev Mountain Tech Festival ที่จัดในปีนี้ (2022) มาครับ หลักๆ ก็พูดเรื่อง Analytics Engineering แล้วชวนคุยว่า dbt เข้ามาช่วยทำให้เกิด Analytics Workflow ได้อย่างไร :blush: Slide deck อ…

---

## [ระหว่าง dbt CLI กับ dbt Cloud เลือกอย่างไหนดี?](https://discuss.dataengineercafe.io/t/dbt-cli-dbt-cloud/136)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 0\
**Last updated:** [March 20, 2022, 4:00am UTC](https://discuss.dataengineercafe.io/t/dbt-cli-dbt-cloud/136 "2022-03-20T04:00:11Z")

</div>

ได้ไปอ่านโพสต์นี้มา แอบไปช่วยตอบมาด้วย แล้วอยากเอามาแชร์ที่นี่ด้วย ผมตอบไปประมาณนี้ ถ้ามี budget ที่เอื้ออำนวยนะครับ ผมจะเลือกใช้ dbt Cloud พราะว่า dbt Cloud แทรกตัวเข้าไปกับ analytics workflow ของเราได้อย่างแนบเนี…

---

## [Dbt Snapshots ของดีที่ช่วยให้เราทำ Type-2 SCD เพื่อเก็บข้อมูลย้อนหลังได้](https://discuss.dataengineercafe.io/t/dbt-snapshots-type-2-scd/135)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 0\
**Last updated:** [March 17, 2022, 1:22am UTC](https://discuss.dataengineercafe.io/t/dbt-snapshots-type-2-scd/135 "2022-03-17T01:22:36Z")

</div>

เคยพูดถึงเรื่อง Type-2 Slowly Changing Dimension (SCD) คือ? ไปแล้ว เราสามารถที่จะ implement ได้โดยอาจจะเก็บ table หนึ่งไว้ก่อน (ทำ snapshot) แล้วหลังจากนั้นก็เทียบกันระหว่าง table ต้นทางกับ snapshot ดูว่ามีแถวไหนมีอะไรเป…

---

## [เจ้า dbt มันคืออะไรนะ? มาๆ เรามาเรียนรู้ไปด้วยกันครับ 😉](https://discuss.dataengineercafe.io/t/dbt/21)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 0\
**Last updated:** [November 13, 2021, 3:09am UTC](https://discuss.dataengineercafe.io/t/dbt/21 "2021-11-13T03:09:05Z")

</div>

ตามเว็บ https://www.getdbt.com/ เค้ากล่าวไว้ว่า dbt (data build tool) คือ A data transformation tool that enables data analysts and engineers to transform, test and document data in the cloud data warehouse. เครื่องม…
