The following example shows how to use the integrationOpts parameter of the JavaScript SDK to declare the JSON columns:
"integrations":{"All":true,"SNOWFLAKE":{// Use SNOWFLAKE for Snowflake, RS for Redshift, BQ for BigQuery, POSTGRES for PostgreSQL.
"options":{"jsonPaths":["track.properties.testMap.nestedMap","track.context.ctestMap.cnestedMap"]}}}
Here, nestedMap and cnestedMap are declared as JSON columns.
As explained in the above use case, to declare nestedMap and cnestedMap as JSON columns, add track.properties.testMap.nestedMap and track.context.ctestMap.cnestedMap in the above jsonPaths list.
3. While configuring warehouse destination
While configuring your warehouse destination in RudderStack, pass the required JSON column paths using the dot notation in the JSON columns field. You can specify multiple JSON columns separated by a comma.
This setting applies to alltrack events sent to the warehouse destination.
Warehouse names in integrations object
Use the following object names for the supported warehouse destinations while declaring the JSON columns:
Warehouse destination
Object name
Amazon Redshift
RS
Google BigQuery
BQ
PostgreSQL
POSTGRES
Snowflake
SNOWFLAKE
Semi-structured data usage and limitations
For more information on working with semi-structured data and the associated limitations in different warehouses, see the following guides:
Which events are supported in the JSON column feature?
The JSON column feature supports all the event types (identify, track, page, screen, group) and their associated attributes/properties.
Which data types are supported in the JSON column feature?
The JSON data type includes String, Integers, Float, Arrays, Booleans, and Maps.
How can I use the JSON column feature in BigQuery?
Google BigQuery has released JSON support only as a preview feature. Hence, RudderStack treats the JSON columns as strings and inserts the JSON strings as values. You can then query the semi-structured data using the JSON functions.
This site uses cookies to improve your experience while you navigate through the website. Out of
these
cookies, the cookies that are categorized as necessary are stored on your browser as they are as
essential
for the working of basic functionalities of the website. We also use third-party cookies that
help
us
analyze and understand how you use this website. These cookies will be stored in your browser
only
with
your
consent. You also have the option to opt-out of these cookies. But opting out of some of these
cookies
may
have an effect on your browsing experience.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. This
category only includes cookies that ensures basic functionalities and security
features of the website. These cookies do not store any personal information.
This site uses cookies to improve your experience. If you want to
learn more about cookies and why we use them, visit our cookie
policy. We'll assume you're ok with this, but you can opt-out if you wish Cookie Settings.