
Explore the differences among data engineering, data analysis, and data science, and learn how generative AI speeds up building data pipelines, ensures data quality, and supports scalable infrastructure.
Explore generative ai and large language models, including parameters, training data, and multimodal foundations. Compare models like Claude, ChatGPT, Bard, and llama for data engineering tasks.
Explore how command line utilities handle csv data, using awk to remove a column from a weather history dataset and learn how large language models aid scripting.
Schedule automated data pipeline runs with cron by editing the crontab file to create cron jobs and specify minute, hour, day, month, and day of week for your script.
Demonstrates creating a cron job to run a weather script at 2 a.m. daily, editing crontab with nano, and verifying with crontab -l as a foundational data engineering automation tool.
Learn to filter JSON data with jq by applying a map-based filter to select hotels with ratings 4.85 or higher, demonstrated on a JSON file and terminal workflow.
Note. in the video the script references 'NaN', which stands for 'Not a Number'
Add documentation to a script that checks csv files for missing values, outlining its purpose, major steps, and how it iterates rows and cells to report missing data and statistics.
Learn how range checks ensure data quality by flagging temperatures outside defined bounds in a CSV, using a Python script with parameterized input and zero-based column indexing.
Learn to handle dates and times by tracking time zones, adopting UTC as a common reference, and managing date formats and timestamp precision to avoid inconsistencies when merging datasets.
discover how pandas uses series and data frames to load and manipulate data from CSV, JSON, Excel, and SQL, with grouping, merging, and summary statistics.
Generate json data with makuru, including id, first name, last name, email, favorite color, and ip address, and use a language model to create a json schema for quality checks.
NoSQL databases are non-relational data stores with flexible schemas designed for large-scale applications. They trade some acid properties for availability, scalability, and performance, including key-value, document, column, and graph types.
install Postgres on mac using the official installer, configure Pgadmin, create a local Postgres database, and verify the setup by exploring the public schema and query tool.
Explore PostgreSQL schemas by creating a staging schema, moving tables into staging, and planning data loading from staging into a dimensional model for elt workflows.
Create and verify three Postgres tables—sales, product, and location—using sample csv data, with date, varchar, integer, and decimal columns, and verify that the csv data is reflected in the tables.
Learn dimensional modeling with a star schema to optimize analytic queries in data warehouses, using fact and dimension tables, surrogate keys, and etl or elt loading with joins.
Load sales data from a CSV into staging.sales using a Python script with psycopg2, mapping CSV to the table, and using an env var for the DB password.
Create a time dimension by building a dim dates table with date ID, day, month, quarter, and year, and generate daily inserts from 2024-01-01 to 2024-12-31.
Delete the old facts table and build a query against dm_staging.sales, group by date of sale, product, and location to yield sum(quantity) and averages of unit price and total price.
Load data in json format into a Postgres jsonb table, extract the title into the title column, and store the full json in the review column.
Learn to query json values in PostgreSQL to retrieve the title, price value, and price period from a hotels table. Navigate json with arrow notation in select statements.
Updated description 3/12/2024
Generative AI tools such as ChatGPT, Claude, and Bard are making data engineering more accessible and more efficient. If you work with spreadsheets or business intelligence tools but aren't too familiar with Python or SQL, then generative AI can help you analyze data and build your own data pipelines and ETL/ELT processes.
Generative AI and LLMs will not replace data engineers or data analysts but those who know how to use these AI tools will be able to build more capable and reliable data pipelines faster. They will also have access to a tool that can help you develop your Python, SQL, and data modeling skills by providing a variety of examples of functional code and help with error messages and troubleshooting processes that do not work as expected.
Learn Data Engineering Techniques as Well as Data Engineering Tools
In this course, you will learn how to break down data engineering problems into a series of tasks that can be automated using Python, SQL, and command line scripts generated by a large language model (LLM).
Prompting an AI to "generate a data processing script to do X, Y, and Z" will probably not get you the results you expect. LLMs are powerful tools, but they are not oracles. As with any tool, we need to understand what the tool is capable of and how to use the capabilities to meet our needs.
This course shows you how to think through a data transformation and loading problems, incrementally building components of a solution. This course is organized into several topics that cover the fundamental skills needed to begin work in data engineering using GenAI, including:
Introduction to large language models, foundation models, and other AI topics related to data engineering. This course uses Claude AI from Anthropic, a large language model that is both well suited to data engineering code generation and free to use.
Working with CSV and JSON files
Data quality and data cleaning, including statistics and visualizations
Extraction transformation and load (ETL)/ extraction, load, and transform (ELT) processes
Relational and NoSQL databases
Data modeling using dimensional data model patterns
Working with JSON data in relational databases such as PostgreSQL
The course begins with the most basic of data engineering tasks: working with files. You will learn how to quickly filter, transform, and find problems in data sets made up of comma-separated value (CSV) and JSON files. You'll also see how we can create samples from large data sets to efficiently experiment with different solutions to our data engineer needs. You will learn how to generate code that uses command line utilities like awk, a text processing and data extraction tool, and jq, a tool for parsing, filtering, and transforming JSON data. If you are not familiar with tools like awk and jq, that is no problem. In this course, you will learn how to describe what you want in a solution so the LLM can choose an appropriate tool for the job.
Data quality is a primary concern in any data engineering project. Fortunately, with GenAI and a basic understanding of data quality checks, you can quickly generate scripts to check for common data quality problems and apply transformations to the data to correct for those problems. Statistics and visualizations are important tools for ensuring data quality. In this course, you will learn how to use basic statistics and visualizations to help with data quality and data exploration. And because generative AI is used to generate code, you can spend more time learning about statistics, visualizations, and how to apply them to your problem domain and less time trying to find syntax errors or debug a logic error in your code.
Databases are the foundation of many applications and data analysis platforms. You will learn about relational databases as well as NoSQL databases and when to use them. Databases are complicated systems that require that we describe how we want to structure our data. This process is known as data modeling. This course will introduce data modeling with a focus on dimensional modeling, a commonly used data model pattern in data analytics. You will also learn how to generate SQL code to implement dimensional models, load data into your database, and query and analyze data once it is loaded.
Now is a great time to become a data engineer because the demand for data engineering skills is high and we now have tools in place that allow us to focus on the problems we are solving while accelerating how quickly we can create scalable, reliable data pipelines.