Book Image

Data Ingestion with Python Cookbook

By : Gláucia Esppenchutz
Book Image

Data Ingestion with Python Cookbook

By: Gláucia Esppenchutz

Overview of this book

Data Ingestion with Python Cookbook offers a practical approach to designing and implementing data ingestion pipelines. It presents real-world examples with the most widely recognized open source tools on the market to answer commonly asked questions and overcome challenges. You’ll be introduced to designing and working with or without data schemas, as well as creating monitored pipelines with Airflow and data observability principles, all while following industry best practices. The book also addresses challenges associated with reading different data sources and data formats. As you progress through the book, you’ll gain a broader understanding of error logging best practices, troubleshooting techniques, data orchestration, monitoring, and storing logs for further consultation. By the end of the book, you’ll have a fully automated set that enables you to start ingesting and monitoring your data pipeline effortlessly, facilitating seamless integration with subsequent stages of the ETL process.
Table of Contents (17 chapters)
1
Part 1: Fundamentals of Data Ingestion
9
Part 2: Structuring the Ingestion Pipeline

Ingesting data from a JDBC database using SQL

With the connection tested and SparkSession configured, the next step is to ingest the data from PostgreSQL, filter it, and save it in an analytical format called a Parquet file. Don’t worry about how Parquet files work for now; we will cover it in the following chapters.

This recipe aims to use the connection we created with our JDBC database and ingest the data from the world_population table.

Getting ready

This recipe will use the same dataset and code as the Configuring a JDBC connection recipe to connect to the PostgreSQL database. Ensure your Docker container is running or your PostgreSQL server is up.

This recipe continues from the content presented in Configuring a JDBC connection. We will now learn how to ingest the data inside the Postgres database.

How to do it…

Following on from our previous code, let’s read the data in our database as follows:

  1. Creating our DataFrame: Using the...