Once ThoughtSpot Embrace is enabled, you can add a connection to a Snowflake database. This allows you to perform a live query of the external database to create answers and pinboards, without having to bring the data into ThoughtSpot.
To add a connection to Snowflake:
Click Data in the top navigation bar.
Click the Embrace tab at the top of the page, and click + Add connection at the upper-right-hand side of the page.
Create a name for your connection, a description (optional), then select the Snowflake connection type, and click Continue.
Enter the connection details for your Snowflake data source using either OAuth or service account authentication:
ThoughtSpot supports Snowflake OAuth authentication, but not External OAuth.
Before selecting OAuth authentication in ThoughtSpot, you must configure OAuth in Snowflake. For details, see Configure OAuth for a Snowflake connection.
For OAuth authentication, do the following:
Tip: There typically is a small delay between when you set up OAuth in Snowflake and when it is available for your connection, so if you see an ‘Authentication Failed. Try again.’ message, click Continue. You will then log in to Snowflake again, and then the Select tables screen appears. At that point, go to step 7 to select your tables
Enter Account name, OAuth Client ID, OAuth Client Secret, and (optional) Database.
- If you wish to provide the optional additional key-value pairs for your Snowflake connection, complete the procedure in step 5, and then click Continue. If not, click Continue.
- When the Snowflake login screen appears, enter your Snowflake User Name and Password and click Log In, or use the Single-Sign-On option.
- In the next Snowflake screen, allow ThoughtSpot to access your Snowflake account by clicking Allow, and then go to step 7 to select tables for your connection.
Using security passthrough may have implications for your Row Level Security. See About row level security (RLS) for more information.
For service account authentication, do the following:
- Enter Account name, User, Password, Role, Warehouse, and (optional) Database.
Refer to the Snowflake connection reference for more information on each of the specific attributes you must enter for your connection.
(Optional) Provide additional key-value pairs that are required to set up your connection to Snowflake, by doing the following:
Note: Any key-value pairs that you enter must be defined in your Snowflake data source. Key-value pairs are case-sensitive.
- Click the Advanced Config menu to reveal the Key and Value fields.
- Enter your key and value information.
- To add more keys and values, click the plus sign (+), and enter them.
Select tables (on the left) and the columns from each table (on the right), and then click Create connection.
A message appears indicating the number of tables and columns that will be added to your connection.
Once the connection is added, you can search your Snowflake database right away by clicking Search now.
Your new connection appears on the Data > Connections page. You can click the name of your connection to view the tables and columns in your connection.
The connection you just created is a link to the external data source. If there are any joins in the selected tables of the external data source, those are imported into ThoughtSpot.
You can now perform a live query on the selected tables and columns of your connection. Because the selected tables and columns in your connection are linked, it may take a while to initially render the search results. This is because ThoughtSpot does not cache linked data. With linked data, ThoughtSpot queries the external database directly, which is slower than querying data that is stored in ThoughtSpot’s database.