Data Engineering

dbt - ฟีเจอร์ขั้นสูง

Jinja macros, custom tests, packages, hooks, snapshots (SCD), incremental models, dbt Cloud, CI/CD

20 คำถามสัมภาษณ์·
Senior
1

ใน dbt วัตถุประสงค์หลักของ Jinja macros คืออะไร?

คำตอบ

Jinja macros ช่วยให้ใช้โค้ดซ้ำได้ในหลาย dbt models โดยทำงานเหมือนฟังก์ชันที่รับพารามิเตอร์และส่งคืน SQL ที่สร้างขึ้นแบบไดนามิก ซึ่งช่วยหลีกเลี่ยงการซ้ำซ้อนของโค้ดและทำให้บำรุงรักษาการแปลงที่ซับซ้อนทั่วทั้งโปรเจกต์ได้ง่ายขึ้น

2

จะกำหนด dbt macro ที่ใช้ซ้ำได้ในไฟล์อย่างไร?

คำตอบ

dbt macro ถูกกำหนดโดยใช้ไวยากรณ์ Jinja macro/endmacro ในไฟล์ .sql ภายในโฟลเดอร์ macros ชื่อมาโครถูกระบุหลังคำสำคัญ macro ตามด้วยพารามิเตอร์ในวงเล็บ มาโครนี้สามารถเรียกใช้จากโมเดลใดๆ ในโปรเจกต์ได้

3

ความแตกต่างระหว่างกลยุทธ์ 'timestamp' และ 'check' สำหรับ dbt snapshots คืออะไร?

คำตอบ

กลยุทธ์ timestamp เปรียบเทียบคอลัมน์วันที่อัปเดต (updated_at) เพื่อตรวจจับการเปลี่ยนแปลง ซึ่งให้ประสิทธิภาพดีกว่าเพราะเปรียบเทียบเพียงคอลัมน์เดียว กลยุทธ์ check เปรียบเทียบค่าของคอลัมน์ที่ระบุ (check_cols) เพื่อตรวจจับการเปลี่ยนแปลงใดๆ มีประโยชน์เมื่อไม่มีคอลัมน์ timestamp ที่เชื่อถือได้

4

คอลัมน์ใดบ้างที่ dbt เพิ่มโดยอัตโนมัติเมื่อสร้าง snapshot?

5

จะกำหนดค่า incremental model ด้วยกลยุทธ์ 'merge' ใน dbt อย่างไร?

+17 คำถามสัมภาษณ์

หัวข้อสัมภาษณ์ Data Engineering อื่นๆ

Linux & Shell - พื้นฐาน

Junior
20 คำถาม

Git & GitHub - พื้นฐาน

Junior
20 คำถาม

Python ขั้นสูงสำหรับ Data Engineering

Junior
25 คำถาม

Docker - พื้นฐาน

Junior
25 คำถาม

Google Cloud Platform - พื้นฐาน

Junior
20 คำถาม

CI/CD และคุณภาพโค้ด

Mid-Level
20 คำถาม

Docker Compose

Mid-Level
20 คำถาม

FastAPI - Data API

Mid-Level
20 คำถาม

SQL ขั้นสูงสำหรับ Data Engineering

Mid-Level
20 คำถาม

Data Lake - สถาปัตยกรรมและการนำเข้าข้อมูล

Mid-Level
20 คำถาม

BigQuery สำหรับ Data Engineering

Mid-Level
20 คำถาม

PostgreSQL - การดูแลระบบ

Mid-Level
20 คำถาม

Data Modeling สำหรับ Data Engineering

Mid-Level
20 คำถาม

Fivetran & Airbyte - การนำเข้าข้อมูล

Mid-Level
20 คำถาม

dbt - พื้นฐาน

Mid-Level
20 คำถาม

Apache Airflow - พื้นฐาน

Mid-Level
20 คำถาม

Kubernetes - พื้นฐาน

Mid-Level
20 คำถาม

รูปแบบ ETL / ELT / ETLT

Senior
20 คำถาม

Apache Airflow - ขั้นสูง

Senior
20 คำถาม

Airflow + dbt - การจัดการ Pipeline

Senior
20 คำถาม

PySpark - การประมวลผลขนาดใหญ่

Senior
20 คำถาม

Google Pub/Sub - การสตรีมข้อมูล

Senior
20 คำถาม

Apache Beam & Dataflow

Senior
20 คำถาม

Kubernetes - Production และ Scaling

Senior
20 คำถาม

Terraform - Infrastructure as Code

Senior
20 คำถาม

ฐานข้อมูล NoSQL

Senior
20 คำถาม

Data Architecture สมัยใหม่

Senior
20 คำถาม

การมอนิเตอร์และการสังเกตการณ์

Senior
20 คำถาม

IAM และความปลอดภัยของข้อมูล

Senior
20 คำถาม

เชี่ยวชาญ Data Engineering สำหรับการสัมภาษณ์ครั้งถัดไป

เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์

เริ่มใช้ฟรี