
dbt - Tính năng nâng cao
Macro Jinja, test tùy chỉnh, packages, hooks, snapshots (SCD), incremental models, dbt Cloud, CI/CD
1Trong dbt, mục đích chính của macro Jinja là gì?
Trong dbt, mục đích chính của macro Jinja là gì?
Câu trả lời
Macro Jinja cho phép tái sử dụng mã trên nhiều model dbt. Chúng hoạt động như các hàm nhận tham số và trả về mã SQL được tạo động. Điều này tránh trùng lặp mã và giúp dễ bảo trì các phép biến đổi phức tạp trong toàn bộ dự án.
2Làm thế nào để định nghĩa một macro dbt có thể tái sử dụng trong một file?
Làm thế nào để định nghĩa một macro dbt có thể tái sử dụng trong một file?
Câu trả lời
Một macro dbt được định nghĩa bằng cú pháp macro/endmacro của Jinja trong tệp .sql trong thư mục macros. Tên macro được chỉ định sau từ khóa macro, theo sau là các tham số trong dấu ngoặc đơn. Macro này sau đó có thể được gọi từ bất kỳ model nào trong dự án.
3Sự khác biệt giữa chiến lược 'timestamp' và 'check' cho dbt snapshots là gì?
Sự khác biệt giữa chiến lược 'timestamp' và 'check' cho dbt snapshots là gì?
Câu trả lời
Chiến lược timestamp so sánh cột ngày cập nhật (updated_at) để phát hiện thay đổi, hiệu suất cao hơn vì chỉ so sánh một cột. Chiến lược check so sánh các giá trị của các cột được chỉ định (check_cols) để phát hiện bất kỳ thay đổi nào, hữu ích khi không có cột timestamp đáng tin cậy.
Những cột nào được dbt tự động thêm khi tạo snapshot?
Làm thế nào để cấu hình một model incremental với chiến lược 'merge' trong dbt?
+17 câu hỏi phỏng vấn
Các chủ đề phỏng vấn Data Engineering khác
Linux & Shell - Cơ bản
Git & GitHub - Kiến thức cơ bản
Python nâng cao cho Data Engineering
Docker - Cơ bản
Google Cloud Platform - Cơ bản
CI/CD và chất lượng mã
Docker Compose
FastAPI - API dữ liệu
SQL nâng cao cho Data Engineering
Data Lake - Kiến trúc và nạp dữ liệu
BigQuery cho Data Engineering
PostgreSQL - Quản trị
Data Modeling cho Data Engineering
Fivetran & Airbyte - Nạp dữ liệu
dbt - Kiến thức cơ bản
Apache Airflow - Cơ bản
Kubernetes - Cơ Bản
Mẫu ETL / ELT / ETLT
Apache Airflow - Nâng cao
Airflow + dbt - Điều phối pipeline
PySpark - Xử lý quy mô lớn
Google Pub/Sub - Streaming dữ liệu
Apache Beam & Dataflow
Kubernetes - Production và Scaling
Terraform - Infrastructure as Code
Cơ sở dữ liệu NoSQL
Data Architecture hiện đại
Giám sát và Khả năng quan sát
IAM và Bảo mật Dữ liệu
Nắm vững Data Engineering cho lần phỏng vấn tiếp theo
Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.
Bắt đầu miễn phí