Skip to content

Destination Connectors

Skippr supports loading data into warehouses, cloud storage, messaging systems, and more.

Warehouses

Snowflake

Loads data directly into Snowflake tables.

warehouse:
  kind: snowflake
  database: ANALYTICS
  schema: RAW
  warehouse: COMPUTE_WH
  role: ACCOUNTADMIN
Field Default Description
database (required) Snowflake database
schema (required) Target schema
warehouse Compute warehouse
role Snowflake role

Authentication via environment variables: SNOWFLAKE_ACCOUNT, SNOWFLAKE_USER, SNOWFLAKE_PRIVATE_KEY_PATH.

See Connect: Snowflake for a step-by-step setup guide.


Google BigQuery

Loads data into BigQuery datasets.

warehouse:
  kind: bigquery
  project: my-gcp-project
  dataset: raw_data
  location: US
Field Default Description
project (required) GCP project ID
dataset (required) BigQuery dataset
location Dataset location

See Connect: BigQuery for a step-by-step setup guide.


PostgreSQL

Loads data into PostgreSQL tables.

warehouse:
  kind: postgres
  database: analytics
  schema: raw
Field Default Description
database (required) PostgreSQL database name
schema public Target schema

Authentication via environment variables: POSTGRES_HOST, POSTGRES_USER, POSTGRES_PASSWORD.

See Connect: Postgres for a step-by-step setup guide.


Amazon Redshift

Loads data into Amazon Redshift using a staging location in S3 (COPY workflow).

warehouse:
  kind: redshift
  database: analytics
  cluster_identifier: my-cluster
  schema: public
  region: us-east-1
  staging_s3_bucket: my-load-bucket
  staging_s3_prefix: "skippr/staging/"
  iam_role_arn: "arn:aws:iam::123456789012:role/RedshiftS3Role"
Field Default Description
database (required) Redshift database name
schema public Target schema
cluster_identifier Provisioned cluster identifier
workgroup_name Serverless workgroup (alternative to cluster)
db_user Database user for COPY
region AWS region
staging_s3_bucket S3 bucket for staging files before COPY
staging_s3_prefix Prefix inside the staging bucket
iam_role_arn IAM role Redshift uses to read from S3

Authentication uses AWS credentials in the environment or standard credential chain.


ClickHouse

Loads data into ClickHouse over HTTP.

warehouse:
  kind: clickhouse
  url: http://localhost:8123
  database: default
  user: default
  password: ${CLICKHOUSE_PASSWORD}
Field Default Description
url http://localhost:8123 ClickHouse HTTP URL
database Database name
user default Username
password Password

MotherDuck

Loads data into MotherDuck.

warehouse:
  kind: motherduck
  motherduck_token: ${MOTHERDUCK_TOKEN}
  database: my_database
  schema: main
Field Default Description
motherduck_token (required) MotherDuck token (or set MOTHERDUCK_TOKEN)
database Database name
schema Target schema

AWS Athena (S3 + Glue)

Writes Parquet files to S3 with Glue catalog registration for Athena queries.

warehouse:
  kind: athena
  s3_bucket: my-data-lake
  s3_prefix: "bronze/"
  database: raw_data
  region: us-east-1
Field Default Description
s3_bucket (required) S3 bucket for Parquet files
s3_prefix Key prefix
database (required) Glue catalog database
region AWS region

Databricks

Uploads data to Databricks as Parquet files via the Files API, with optional COPY INTO.

warehouse:
  kind: databricks
  workspace_url: "https://my-workspace.cloud.databricks.com"
  token: ${DATABRICKS_TOKEN}
  warehouse_id: "abc123"
  catalog: main
  schema: default
Field Default Description
workspace_url (required) Databricks workspace URL
token (required) Personal access token
warehouse_id SQL warehouse ID (enables COPY INTO)
catalog main Unity Catalog name
schema default Schema name

Azure Synapse

Writes data to Azure Synapse Analytics via TDS protocol.

warehouse:
  kind: synapse
  connection_string: ${SYNAPSE_CONNECTION_STRING}
  schema: dbo
Field Default Description
connection_string (required) ADO-style connection string
schema dbo Target schema

Cloud Storage

Google Cloud Storage

Writes Parquet files to a GCS bucket.

warehouse:
  kind: gcs
  bucket: my-bucket
  prefix: "data/"
  service_account_key_path: "/path/to/key.json"
Field Default Description
bucket (required) GCS bucket name
prefix Key prefix for uploaded objects
service_account_key_path Path to service account JSON key

Azure Blob Storage

Writes Parquet files to Azure Blob Storage.

warehouse:
  kind: azure_blob
  account_name: mystorageaccount
  account_key: ${AZURE_STORAGE_KEY}
  container: my-container
  prefix: "data/"
Field Default Description
account_name (required) Azure storage account name
account_key Access key (one of key/sas required)
sas_token SAS token
container (required) Blob container name
prefix Key prefix for uploaded objects

SFTP

Uploads Parquet files to a remote SFTP server.

warehouse:
  kind: sftp
  host: sftp.example.com
  username: user
  password: ${SFTP_PASSWORD}
  remote_path: "/data/output"
Field Default Description
host (required) SFTP server hostname
port 22 SSH port
username (required) SSH username
password Password authentication
private_key_path Path to SSH private key
remote_path (required) Remote directory for uploads

Messaging

AMQP (RabbitMQ)

Publishes records as JSON messages to an AMQP exchange.

warehouse:
  kind: amqp
  connection_string: "amqp://guest:guest@localhost:5672"
  exchange: events
  routing_key: output
Field Default Description
connection_string (required) AMQP connection URI
exchange (required) Exchange name
routing_key "" Routing key
exchange_type direct Exchange type (direct, fanout, topic, headers)

Other

Local File

Writes data to a local file.

warehouse:
  kind: file
  path: "/data/output.parquet"

Stdout

Writes data to standard output.

warehouse:
  kind: stdout