Skip to main content

A Fivetran provider for Apache Airflow

Project description

Apache Airflow Provider for Fivetran

Provides an Airflow operator, sensor, and hook for Fivetran. This allows you to start Fivetran jobs from Airflow, and monitor a Fivetran sync job for completion before running downstream processes.

Fivetran automates your data pipeline, and Airflow automates your data processing.

Installation

Pre-requisites: An environment running apache-airflow.

pip install airflow-provider-fivetran

Configuration

In the Airflow user interface, you will need to 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 Key
  • Password: Fivetran API Secret

Fivetran API Key and Secret can be found in the Fivetran Account Settings, under the API Config section. Please 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

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 interface.

Import into your DAG via:

from fivetran_provider.operators.fivetran import FivetranOperator

Fivetran Sensor

Monitors a Fivetran sync job for completion. This allows you to trigger downstream processes only when one or more Fivetran sync jobs have completed, ensuring data consistency.

Note, it is possible to monitor a sync that is scheduled and manaaged 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 interface.

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, for any feedback please email 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

airflow-provider-fivetran-0.1.0.tar.gz (8.2 kB view hashes)

Uploaded Source

Built Distribution

airflow_provider_fivetran-0.1.0-py3-none-any.whl (22.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page