How to set up Great Expectations to work with data on Google Cloud Storage
This guide will walk you through best practices for creating your GX Python environment and demonstrate how to locally install Great Expectations along with the necessary dependencies for working with data stored on Google Cloud Storage.
Prerequisites
- A supported version of Python (3.8 to 3.11). To download and install Python, see Python downloads.
- The ability to install Python modules with pip
- A Google Cloud Platform (GCP) service account with permissions to access GCP resources including Storage Objects.
Steps
1. Ensure your GCP credentials are correctly configured
The Google Cloud Platform documentation describes how to verify our authentication for the Google Cloud API, which includes:
- Creating a Google Cloud Platform (GCP) service account,
-
Setting the
GOOGLE_APPLICATION_CREDENTIALS
environment variable, - Verifying authentication by running a simple Google Cloud Storage client library script.
2. Check your Python version
You can check your version of Python by running:
python --version
GX currently supports Python versions 3.7 to 3.10
python
or
python3
Depending on your installation and configuration
of Python 3, you may find that executing Python
commands from the terminal by calling
python
doesn't work as desired.
If a command using python
does not
work, try using python3
.
Instead of:
python --version
Try:
python3 --version
If this produces the desired result, simply
replace python
with
python3
in our example terminal
commands.
If this does not work, you may need to look into your Python 3 installation or configuration.
3. Create a Python virtual environment
As a best practice, we recommend using a virtual environment to partition your GX installation from any other Python projects that may exist on the same system. This ensures that there will not be dependency conflicts between the GX installation and other Python projects.
Once we have confirmed that Python 3 is installed
locally, we can create a virtual environment with
venv
.
venv
?
We have chosen to use venv
for
virtual environments in this guide because it is
included with Python 3. You are not limited to
using venv
, and can just as easily
install Great Expectations into virtual
environments with tools such as
virtualenv
, pyenv
, etc.
We will create our virtual environment by running:
python -m venv my_venv
This command will create a new directory called
my_venv
. Our virtual environment will be
located in this directory.
In order to activate the virtual environment we will run:
source my_venv/bin/activate
my_venv
?
You can name your virtual environment anything you
like. Simply replace my_venv
in the
examples above with the name that you would like
to use.
4. Install GX with optional dependencies for GCS
To install Great Expectations with the optional dependencies needed to work with GCP we execute the following pip command from the terminal:
python -m pip install 'great_expectations[gcp]'
This will install Great Expectations and additional packages for interacting with Google Cloud Storage.
5. Verify that GX has been installed correctly
You can verify that GX installed successfully with the CLI command:
great_expectations --version
The output you receive if GX was successfully installed will be:
great_expectations, version 0.16.15
Next steps
Now that you have installed GX with the necessary dependencies for working with GCS, you are ready to initialize your Data ContextThe primary entry point for a Great Expectations deployment, with configurations and methods for all supporting components.. The Data Context will contain your configurations for GX components, as well as provide you with access to GX's Python API.
To quickly create a Data Context and dive into working with GX, please see:
To initialize a Data Context on your filesystem, please reference:
To work with a temporary, in-memory Data Context, see: