Export via external ETL tools

Some customers export their Zus data mart from Snowflake using common external ETL tools, such as Airbyte and Fivetran, both of which offer Snowflake connectors.

If you are interested in setting up either of these tools, please reach out to the Zus support team and let them know that you are interested in setting up these connectors. Zus will then configure your Snowflake reader account and share with you the necessary information.

📘

Any Snowflake compute costs incurred by these tools in your Zus-hosted Snowflake reader account will be passed through to your organization.

Exporting data with Airbyte

For customers exporting data via Airbyte, Zus will create a dedicated read-only Snowflake machine user authenticated via keypair following the steps described in Airbyte's documentation here. The customer must provide Zus with a public key. For instructions on how to generate a keypair, see Airbyte's documentation here.

Exporting data with Fivetran

For customers exporting data via Fivetran, Zus will create a Snowflake machine user authenticated via keypair. The customer must provide Zus with a public key. Details on how to generate a keypair available here.

Fivetran requires Snowflake write privileges if source tables do not have primary keys, but Zus does not grant customers write privileges on data mart shares. Therefore, most customers exporting Zus data from Snowflake via Fivetran set up nightly tasks that copy tables or views into a separate database that Fivetran can connect to.

In Zus-hosted reader accounts, customers have the necessary permissions to create custom tables, views, and schemas in the database labeled [CUSTOMER_NAME]. You can use this database to create tables/views that Fivetran can then connect to.

📘

For complete documentation on how create new tables/views/schemas in Snowflake, please refer to the Snowflake documentation here, here, and here.

As an example, suppose you want to export the ALLERGY_INTOLERANCE table via Fivetran. You can create a scheduled task that will copy this table once a day from the shared database to your owned database:

CREATE SCHEMA [CUSTOMER_NAME].FIVETRAN_EXPORT;

CREATE OR REPLACE TASK [CUSTOMER_NAME].FIVETRAN_EXPORT.ALLERGY_INTOLERANCE_TASK  
WAREHOUSE=BUILDER_WH  
SCHEDULE='USING CRON 0 0 \* \* _ America/Los_Angeles'  
USER_TASK_TIMEOUT_MS=14400000  
AS  
    CREATE OR REPLACE TABLE [CUSTOMER_NAME].FIVETRAN_EXPORT.ALLERGY_INTOLERANCE AS  
    SELECT * FROM [CUSTOMER_NAME]_EXPORT_ZUS.[CUSTOMER_NAME]_RELATIONAL.ALLERGY_INTOLERANCE;

ALTER TASK [CUSTOMER_NAME].FIVETRAN_EXPORT.ALLERGY_INTOLERANCE_TASK RESUME;

This code will create a table in the [CUSTOMER_NAME] database in a schema called FIVETRAN_EXPORT. Fivetran should be able to use this new table.