A Fivetran provider for Apache Airflow
Project description
Apache Airflow Provider for Fivetran
This package provides an Airflow operator, sensor, and hook for Fivetran. FivetranOperator
allows you to start Fivetran jobs from Airflow and FivetranSensor
allows you to monitor a Fivetran sync job for completion before running downstream processes.
Fivetran automates your data pipeline, and Airflow automates your data processing.
Installation
Prerequisites: An environment running apache-airflow
.
pip install airflow-provider-fivetran
Configuration
In the Airflow user interface, configure a Connection for Fivetran. Most of the Connection config fields will be left blank. Configure the following fields:
Conn Id
:fivetran
Conn Type
:HTTP
Login
: Fivetran API KeyPassword
: Fivetran API Secret
Find the Fivetran API Key and Secret in the Fivetran Account Settings, under the API Config section. See our documentation for more information on Fivetran API Authentication.
The sensor and operator assume the Conn Id
is set to fivetran
, however if you are managing multipe Fivetran accounts, you can set this to anything you like. See the DAG in examples to see how to specify a custom Conn Id
.
Modules
Fivetran Operator
FivetranOperator
starts a Fivetran sync job. Note that when a Fivetran sync job is controlled via an Operator, it is no longer run on the schedule as managed by Fivetran. In other words, it is now scheduled only from Airflow.
FivetranOperator
requires that you specify the connector_id
of the sync job to start. You can find connector_id
in the Settings page of the connector you configured in the Fivetran dashboard.
Import into your DAG via:
from fivetran_provider.operators.fivetran import FivetranOperator
Fivetran Sensor
FivetranSensor
monitors a Fivetran sync job for completion. Monitoring with FivetranSensor
allows you to trigger downstream processes only when the Fivetran sync jobs have completed, ensuring data consistency. You can use multiple instances of FivetranSensor
to monitor multiple Fivetran connectors.
Note, it is possible to monitor a sync that is scheduled and managed from Fivetran; in other words, you can use FivetranSensor
without using FivetranOperator
. If used in this way, your DAG will wait until the sync job starts on its Fivetran-controlled schedule and then completes.
FivetranSensor
requires that you specify the connector_id
of the sync job to start. You can find connector_id
in the Settings page of the connector you configured in the Fivetran dashboard.
Import into your DAG via:
from fivetran_provider.sensors.fivetran import FivetranSensor
Examples
See the examples directory for an example DAG.
Issues
Please submit issues and pull requests in our official repo: https://github.com/fivetran/airflow-provider-fivetran
We are happy to hear from you. Please email any feedback to the authors at devrel@fivetran.com.
Acknowledgements
Special thanks to Pete DeJoy, Plinio Guzman, and David Koenitzer of Astronomer.io for their contributions and support in getting this provider off the ground.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file airflow-provider-fivetran-0.1.1.tar.gz
.
File metadata
- Download URL: airflow-provider-fivetran-0.1.1.tar.gz
- Upload date:
- Size: 10.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.9.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee3422ebeb4b7a4fd0cf74348bc574ea7c5319c9a3479897be2e0623d50be8cd |
|
MD5 | 46dd5c57cab5d53024a702f7bf8b5fec |
|
BLAKE2b-256 | 57a2b2e84ba8bb258c12fdd9c61bde3d14edbb4eb2ecd4eca5dc2ca93605c127 |
File details
Details for the file airflow_provider_fivetran-0.1.1-py3-none-any.whl
.
File metadata
- Download URL: airflow_provider_fivetran-0.1.1-py3-none-any.whl
- Upload date:
- Size: 26.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.9.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f0bd62a142a68add59ef4c5d0462d7e190336c259211cb94c36525a60c613e35 |
|
MD5 | de80558cfad13735ecc20ed4d814a071 |
|
BLAKE2b-256 | a5d5309d6cb8449630292d96d20212e1cb4431002bc4d01eafdd784251208581 |