Snowflake Data Share
Add-on feature
Amplitude's Snowflake Data Share Export is a paid add-on to your Amplitude contract.
Limits
Snowflake supports data sharing only within the same region and cloud provider. Amplitude's Snowflake runs in US West (Oregon) on Amazon Web Services. To enable cross-region or cross-cloud data sharing, contact your Account Manager at Amplitude or reach out to Amplitude Support.
Amplitude supports one Snowflake Data Share destination per project for each data type (events and merged user tables). You can set up multiple destinations across your organization. Destinations in different projects don't need to connect to the same Snowflake account. For example, production projects can connect to your production Snowflake instance, staging projects to your staging instance, and development projects to your sandbox instance.
EU availability
Snowflake Data Share isn't available for Amplitude customers in the EU region.
Set up the integration
To set up a recurring export of your Amplitude data to Snowflake, follow these steps:
Required user permissions
You need admin/manager privileges in Amplitude, and a role that allows you to enable resources in Snowflake.
- In Amplitude Data, click Catalog and select the Destinations tab.
- In the Warehouse Destinations section, click Snowflake Data Share.
- Under Access Data via Snowflake Data Share, enter the following:
- Account Name: The account name on your Snowflake account. It's the first part of your Snowflake URL, after
https://and before 'snowflakecomputing.com'. For example, if your Snowflake URL ishttp://amplitude.snowflakecomputing.com, enteramplitude. - Org Name: The name of your Snowflake organization.
- Account Name: The account name on your Snowflake account. It's the first part of your Snowflake URL, after
- Choose which data to include in this export: Raw events every 5 minutes, Merged IDs every hour, or both. For events, you can also specify filtering conditions to export only events that meet certain criteria.
The option you choose here reflects the interval after Amplitude ingests the data.
- Click Next, enter the name of this Snowflake export, and click Finish.
When complete, Amplitude sends all future events to Snowflake with Data Share.
Backfill data
After the Share is set up between Amplitude and your Snowflake cluster, Amplitude loads data only from that point forward. To backfill historical data from a period before the connection, specify this in the request when setting up the share.
Data backfill incurs extra cost
Contact your Amplitude Account Manager for pricing.
Remove Data Share from Amplitude
To remove the Amplitude data set made available through the Data Share, reach out to your Account Manager at Amplitude or submit a support request.Snowflake export format
| Schema Name | Description |
|---|---|
DB_{ORG_ID} | Database |
SCHEMA_{PROJECT_ID} | Schema |
EVENTS_{PROJECT_ID} | Events Table |
MERGE_IDS_{PROJECT_ID} | Merge User Table |
Event table
Event table schema
The Event table schema includes the following columns:
adidamplitude_event_typeamplitude_idappcityclient_event_timeclient_upload_timecountrydatadevice_branddevice_carrierdevice_familydevice_iddevice_manufacturerdevice_modeldevice_typedmaevent_idevent_propertiesevent_timeevent_typefollowed_an_identifygroup_propertiesgroupsidfaip_addressis_attribution_eventlanguagelibrarylocation_latlocation_lngos_nameos_versionpayingplatformprocessed_timeregionsample_rateserver_upload_timesession_idstart_versionuser_iduser_propertiesuuidversion_nameamplitude_attribution_idsserver_received_timeglobal_user_propertiespartner_idplansource_iddata_type
Event table clustering
The exported events table uses the following clustering keys (in order):
TO_DATE(EVENT_TIME)TO_DATE(SERVER_UPLOAD_TIME)EVENT_TYPEAMPLITUDE_ID
Merged User table
Merged User table schema
The Merged User table schema contains the following:
amplitude_idmerge_event_timemerge_server_timemerged_amplitude_id
Merged User table clustering
Amplitude clusters the merged IDs table byDATE_TRUNC('HOUR', MERGE_SERVER_TIME). This optimizes queries that filter by when user merges occurred. Data Share provides read-only access to an Amplitude-owned table, so you can't modify the clustering keys. For custom clustering to optimize different query patterns, use Snowflake Export instead, which gives you full ownership and control over the table.Was this helpful?