دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش:
نویسندگان: Roberto Zagni
سری:
ISBN (شابک) : 9781803246284
ناشر: Packt Publishing Pvt. Ltd.
سال نشر: 2023
تعداد صفحات: 578
زبان: English
فرمت فایل : EPUB (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 13 Mb
در صورت تبدیل فایل کتاب Data Engineering with dbt: A practical guide to building a cloud-based pragmatic and dependable data platform with SQL به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب مهندسی داده با dbt: راهنمای عملی برای ساختن یک پلت فرم داده عملی و قابل اعتماد مبتنی بر ابر با SQL نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
از الگوهای کاربردی آسان در SQL و Python استفاده کنید تا از مهندسی تحلیل مدرن استفاده کنید تا پلتفرمهای چابک با dbt بسازید که به خوبی آزمایش شده و ساده برای گسترش و اجرای آن هستند. خرید کتاب چاپی یا Kindle شامل یک کتاب الکترونیکی PDF رایگان است. ویژگیهای کلیدی: ایجاد یک پایه محکم dbt و یادگیری مدل سازی داده و پشته داده های مدرن برای تبدیل شدن به یک مهندس تجزیه و تحلیل ساخت خطوط لوله خودکار و قابل اعتماد برای استقرار، آزمایش، اجرا و نظارت بر ELT با پروژه dbt Cloud Guided dbt Snowflake برای ایجاد معماری مبتنی بر الگو که مجموعه داده های قابل اعتمادی را ارائه می دهد. توضیحات کتاب: dbt Cloud به مهندسان حرفهای تجزیه و تحلیل کمک میکند تا استفاده از الگوهای قدرتمند و اثباتشده را برای تبدیل دادهها از دریافت به تحویل، خودکار کنند و DataOps واقعی را فعال کنند. این کتاب با معرفی شما با dbt و نقش آن در پشته داده، به همراه نحوه استفاده از SQL ساده برای ساخت پلت فرم داده شما شروع می شود و به شما و تیمتان کمک می کند تا با هم بهتر کار کنید. شما خواهید فهمید که چگونه می توانید از مدل سازی داده ها، کیفیت داده ها، مدیریت اصلی داده ها و موارد دیگر برای ایجاد یک راه حل ساده برای درک و اثبات آینده استفاده کنید. با پیشروی، پشته داده های مدرن را کاوش خواهید کرد، درک خواهید کرد که چگونه مشاغل مرتبط با داده ها در حال تغییر هستند، و خواهید دید که چگونه dbt این انتقال را به نقش نوظهور یک مهندس تجزیه و تحلیل امکان پذیر می کند. فصلها به شما کمک میکنند با استفاده از نسخه رایگان dbt Cloud، Snowflake، و GitHub یک پروژه نمونه بسازید تا یک راهاندازی حرفهای DevOps با یکپارچهسازی مداوم، استقرار خودکار، اجرای ELT، زمانبندی و نظارت، حل موارد عملی که در کار روزانه خود با آن مواجه میشوید ایجاد کنید. . در پایان این کتاب dbt، میتوانید با استفاده از دادههای صادر شده از سیستمهای منبع خود، کدگذاری تحولات مورد نیاز، از جمله دادههای اصلی و قوانین کسبوکار مورد نظر، و ایجاد یک پلتفرم داده عملگرایانه سرتاسر بسازید. مدلهای ابعادی خوب یا جداول گسترده که به شما امکان میدهند با ابزار BI انتخابی خود گزارش بسازید. آنچه خواهید آموخت: ایجاد یک حساب dbt Cloud و درک گردش کار ELT ترکیب Snowflake و dbt برای ساخت خطوط لوله مهندسی داده مدرن از SQL برای تبدیل داده های خام به داده های قابل استفاده و آزمایش دقت آن استفاده کنید. ماکروهای dbt بنویسید و از Jinja برای اعمال اصول مهندسی نرم افزار استفاده کنید. آزمایش دادهها و تبدیلها برای اطمینان از قابلیت اطمینان و کیفیت دادهها با استفاده از الگوهای اثباتشده، یک پلتفرم داده کاربردی سبک وزن بسازید. با استفاده از تحقق dbt کدی با قابلیت نگهداری آسان بنویسید این کتاب برای چه کسی است: این کتاب برای مهندسین داده، مهندسین تحلیل، متخصصان BI، و تحلیلگران داده که می خواهند یاد بگیرند که چگونه پلتفرم های داده ساده، مقاوم در برابر آینده و قابل نگهداری را به روشی چابک بسازند. مدیران پروژه، مدیران تیم داده و تصمیم گیرندگانی که به دنبال درک اهمیت ساخت یک پلت فرم داده و پرورش فرهنگ تیم های داده با عملکرد بالا هستند نیز این کتاب را مفید خواهند یافت. دانش اولیه SQL و مدلسازی داده به شما کمک میکند از لایههای متعدد این کتاب حداکثر استفاده را ببرید. این کتاب همچنین شامل آغازگرهایی در مورد بسیاری از موضوعات مرتبط با داده است تا به جوانان کمک کند تا شروع کنند.
Use easy-to-apply patterns in SQL and Python to adopt modern analytics engineering to build agile platforms with dbt that are well-tested and simple to extend and run Purchase of the print or Kindle book includes a free PDF eBook Key Features: Build a solid dbt base and learn data modeling and the modern data stack to become an analytics engineer Build automated and reliable pipelines to deploy, test, run, and monitor ELTs with dbt Cloud Guided dbt + Snowflake project to build a pattern-based architecture that delivers reliable datasets Book Description: dbt Cloud helps professional analytics engineers automate the application of powerful and proven patterns to transform data from ingestion to delivery, enabling real DataOps. This book begins by introducing you to dbt and its role in the data stack, along with how it uses simple SQL to build your data platform, helping you and your team work better together. You\'ll find out how to leverage data modeling, data quality, master data management, and more to build a simple-to-understand and future-proof solution. As you advance, you\'ll explore the modern data stack, understand how data-related careers are changing, and see how dbt enables this transition into the emerging role of an analytics engineer. The chapters help you build a sample project using the free version of dbt Cloud, Snowflake, and GitHub to create a professional DevOps setup with continuous integration, automated deployment, ELT run, scheduling, and monitoring, solving practical cases you encounter in your daily work. By the end of this dbt book, you\'ll be able to build an end-to-end pragmatic data platform by ingesting data exported from your source systems, coding the needed transformations, including master data and the desired business rules, and building well-formed dimensional models or wide tables that\'ll enable you to build reports with the BI tool of your choice. What You Will Learn: Create a dbt Cloud account and understand the ELT workflow Combine Snowflake and dbt for building modern data engineering pipelines Use SQL to transform raw data into usable data, and test its accuracy Write dbt macros and use Jinja to apply software engineering principles Test data and transformations to ensure reliability and data quality Build a lightweight pragmatic data platform using proven patterns Write easy-to-maintain idempotent code using dbt materialization Who this book is for: This book is for data engineers, analytics engineers, BI professionals, and data analysts who want to learn how to build simple, futureproof, and maintainable data platforms in an agile way. Project managers, data team managers, and decision makers looking to understand the importance of building a data platform and foster a culture of high-performing data teams will also find this book useful. Basic knowledge of SQL and data modeling will help you get the most out of the many layers of this book. The book also includes primers on many data-related subjects to help juniors get started.
Data Engineering with dbt
Contributors
About the author
About the reviewers
Preface
Who this book is for
What this book covers
To get the most out of this book
Download the example code files
Conventions used
Get in touch
Share Your Thoughts
Download a free PDF copy of this book
Part 1: The Foundations of Data Engineering
1
The Basics of SQL to Transform Data
Technical requirements
Introducing SQL
SQL basics – core concepts and commands
SQL core concepts
Understanding the categories of SQL commands
Setting up a Snowflake database with users and roles
Creating your Snowflake account
Setting up initial users, roles, and a database in Snowflake
Creating and granting your first role
Querying data in SQL – syntax and operators
Snowflake query syntax
SQL operators
Combining data in SQL – the JOIN clause
Combining orders and customers
JOIN types
Visual representation of join types
Advanced – introducing window functions
Window definition
Window frame definition
Summary
Further reading
2
Setting Up Your dbt Cloud Development Environment
Technical requirements
Setting up your GitHub account
Introducing Version Control
Creating your GitHub account
Setting up your first repository for dbt
Setting up your dbt Cloud account
Signing up for a dbt Cloud account
Setting up your first dbt Cloud project
Adding the default project to an empty repository
Comparing dbt Core and dbt Cloud workflows
dbt Core workflows
dbt Cloud workflows
Experimenting with SQL in dbt Cloud
Exploring the dbt Cloud IDE
Executing SQL from the dbt IDE
Introducing the source and ref dbt functions
Exploring the dbt default model
Using ref and source to connect models
Running your first models
Testing your first models
Editing your first model
Summary
Further reading
3
Data Modeling for Data Engineering
Technical requirements
What is and why do we need data modeling?
Understanding data
What is data modeling?
Why we need data modeling
Complementing a visual data model
Conceptual, logical, and physical data models
Conceptual data model
Logical data model
Physical data model
Tools to draw data models
Entity-Relationship modeling
Main notation
Cardinality
Time perspective
An example of an E-R model at different levels of detail
Generalization and specialization
Modeling use cases and patterns
Header-detail use case
Hierarchical relationships
Forecasts and actuals
Libraries of standard data models
Common problems in data models
Fan trap
Chasm trap
Modeling styles and architectures
Kimball method or dimensional modeling or star schema
Unified Star Schema
Inmon design style
Data Vault
Data mesh
Our approach, the Pragmatic Data Platform - PDP
Summary
Further reading
4
Analytics Engineering as the New Core of Data Engineering
Technical requirements
The data life cycle and its evolution
Understanding the data flow
Data creation
Data movement and storage
Data transformation
Business reporting
Feeding back to the source systems
Understanding the modern data stack
The traditional data stack
The modern data stack
Defining analytics engineering
The roles in the modern data stack
The analytics engineer
DataOps – software engineering best practices for data
Version control
Quality assurance
The modularity of the code base
Development environments
Designing for maintainability
Summary
Further reading
5
Transforming Data with dbt
Technical requirements
The dbt Core workflow for ingesting and transforming data
Introducing our stock tracking project
The initial data model and glossary
Setting up the project in dbt, Snowflake, and GitHub
Defining data sources and providing reference data
Defining data sources in dbt
Loading the first data for the portfolio project
How to write and test transformations
Writing the first dbt model
Real-time lineage and project navigation
Deploying the first dbt model
Committing the first dbt model
Configuring our project and where we store data
Re-deploying our environment to the desired schema
Configuring the layers for our architecture
Ensuring data quality with tests
Generating the documentation
Summary
Part 2: Agile Data Engineering with dbt
6
Writing Maintainable Code
Technical requirements
Writing code for humans
Refactoring our initial model to be human-readable
Creating the architectural layers
Creating the Staging layer
Goals and contents of the staging models
Connecting the REF model to the STG
Goals and contents of the refined layer
Creating the first data mart
Saving history is crucial
Saving history with dbt
Saving history using snapshots
Connecting the REF layer with the snapshot
Summary
7
Working with Dimensional Data
Adding dimensional data
Creating clear data models for the refined and data mart layers
Loading the data of the first dimension
Creating and loading a CSV as a seed
Configuring the seeds and loading them
Adding data types and a load timestamp to your seed
Building the STG model for the first dimension
Defining the external data source for seeds
Creating an STG model for the security dimension
Adding the default record to the STG
Saving history for the dimensional data
Saving the history with a snapshot
Building the REF layer with the dimensional data
Adding the dimensional data to the data mart
Exercise – adding a few more hand-maintained dimensions
Summary
8
Delivering Consistency in Your Data
Technical requirements
Keeping consistency by reusing code – macros
Repetition is inherent in data projects
Why copy and paste kills your future self
How to write a macro
Refactoring the “current” CTE into a macro
Fixing data loaded from our CSV file
The basics of macro writing
Building on the shoulders of giants – dbt packages
Creating dbt packages
How to import a package in dbt
Browsing through noteworthy packages for dbt
Adding the dbt-utils package to our project
Summary
9
Delivering Reliability in Your Data
Testing to provide reliability
Types of tests
Singular tests
Generic tests
Defining a generic test
Testing the right things in the right places
What do we test?
Where to test what?
Testing our models to ensure good quality
Summary
10
Agile Development
Technical requirements
Agile development and collaboration
Defining agile development
Applying agile to data engineering
Starting a project in an agile way
Organizing work the agile way
Managing the backlog in an agile way
Building reports in an agile way
S1 – designing a light data model for the data mart
S2 – designing a light data model for the REF layer
S3.x – developing with dbt models the pipeline for the XYZ table
S4 – an acceptance test of the data produced in the data mart
S5 – development and verification of the report in the BI application
Summary
11
Team Collaboration
Enabling collaboration
Core collaboration practices
Collaboration with dbt Cloud
Working with branches and PRs
Working with Git in dbt Cloud
The dbt Cloud Git process
Keeping your development environment healthy
Suggested Git branch naming
Adopting frequent releases
Making your first PR
Summary
Further reading
Part 3: Hands-On Best Practices for Simple, Future-Proof Data Platforms
12
Deployment, Execution, and Documentation Automation
Technical requirements
Designing your deployment automation
Working with dbt environments
Creating our QA and PROD environments
Deciding where to deploy
Creating jobs
Designing the architecture of your data platform
Notifications
Advanced automation – hooks and run-operations
Hooks
Run-operations
Table migrations
Documentation
Lineage graph
dbt-generated documentation
Source freshness report
Exposures
Markdown documentation
Summary
13
Moving Beyond the Basics
Technical requirements
Building for modularity
Modularity in the storage layer
Modularity in the refined layer
Modularity in the delivery layer
Managing identity
Identity and semantics – defining your concepts
Different types of keys
Main uses of keys
Master Data management
Data for Master Data management
A light MDM approach with DBT
Saving history at scale
Understanding the save_history macro
Understanding the current_from_history macro
Summary
14
Enhancing Software Quality
Technical requirements
Refactoring and evolving models
Dealing with technical debt
Implementing real-world code and business rules
Replacing snapshots with HIST tables
Renaming the REF_ABC_BANK_SECURITY_INFO model
Handling orphans in facts
Calculating closed positions
Calculating transactions
Publishing dependable datasets
Managing data marts like APIs
What shape should you use for your data mart?
Self-completing dimensions
History in reports – that is, slowly changing dimensions type two
Summary
Further reading
15
Patterns for Frequent Use Cases
Technical requirements
Ingestion patterns
Basic setup for ingestion
Loading data from files
External tables
Landing tables
History patterns
Storing history with deletions – full load
Storing history with deletion – deletion list
Storing history with multiple versions in the input
Storing history with PII and GDPR compliance
History and schema evolution
Summary
Further reading
Index
Why subscribe?
Other Books You May Enjoy
Packt is searching for authors like you
Share Your Thoughts
Download a free PDF copy of this book