Snowflake
Ingest your files into Unstructured from Snowflake.
The requirements are as follows.
-
A Snowflake account and its account identifier.
To get the identifier for the current Snowflake account:
- Log in to Snowsight with your Snowflake account.
- In Snowsight, on the navigation menu, click your username, and then click Account > View account details.
- On the Account tab, note the value of the Account Identifier field.
Alternatively, the following Snowflake query returns the current account’s identifier:
-
The Snowflake user’s login name (not its username) and its password in the account.
To view the login name for a user:
- Log in to Snowsight with your Snowflake account.
- In Snowsight, on the navigation menu, click Admin > Users & Roles.
- On the Users tab, in the list of available users, click the name of the target user.
- In the About tile, note the Login Name for the user.
Alternatively, the following Snowflake query returns information about the user with the username of
<my-user>
, including theirlogin_name
value representing their login name: -
The name of the Snowflake role that the user belongs to and that also has sufficient access to the Snowflake database, schema, table, and host.
- To create a database in Snowflake, the role needs to be granted
CREATE DATABASE
privilege at the current account level; andUSAGE
privilege on the warehouse that is used to create the database. - To create a schema in a database in Snowflake, the role needs to be granted
USAGE
privilege on the database and the warehouse that is used to create the schema; andCREATE SCHEMA
on the database. - To create a table in a schema in Snowflake, the role needs to be granted
USAGE
privilege on the database and schema and the warehouse that is used to create the table; andCREATE TABLE
on the schema. - To write to a table in Snowflake, the role needs to be granted
USAGE
privilege on the database and schema and the warehouse that is used to write to the table; andINSERT
on the table. - To read from a table in Snowflake, the role needs to be granted
USAGE
privilege on the database and schema and the warehouse that is used to write to the table; andSELECT
on the table.
To view a list of available roles in the current Snowflake account:
- Log in to Snowsight with your Snowflake account.
- In Snowsight, on the navigation menu, click Admin > Users & Roles.
- Click the Roles tab.
Alternatively, the following Snowflake query returns a list of available roles in the current account:
- To create a database in Snowflake, the role needs to be granted
-
The Snowflake warehouse’s hostname and its port number in the account.
To view a list of available warehouses in the current Snowflake account:
- Log in to Snowsight with your Snowflake account.
- In Snowsight, on the navigation menu, click Admin > Warehouses. This view does not provide access to the warehouses’ hostnames or port numbers. To get this information, you must run a Snowflake query.
The following Snowflake query returns a list of available warehouse types, hostnames, and port numbers in the current account. Look for the row with a
type
ofSNOWFLAKE_DEPLOYMENT
: -
The name of the Snowflake database in the account.
To view a list of available databases in the current Snowflake account:
- Log in to Snowsight with your Snowflake account.
- In Snowsight, on the navigation menu, click Data > Databases.
Alternatively, the following Snowflake query returns a list of available databases in the current account:
-
The name of the schema in the database.
To view a list of available schemas for a database in the current Snowflake account:
- Log in to Snowsight with your Snowflake account.
- In Snowsight, on the navigation menu, click Data > Databases.
- Expand the name of the target database.
Alternatively, the following Snowflake query returns a list of available schemas in the current account:
The following Snowflake query returns a list of available schemas for the database named
<database-name>
in the current account: -
The name of the table in the schema.
To view a list of available tables for a schema in a database in the current Snowflake account:
- Log in to Snowsight with your Snowflake account.
- In Snowsight, on the navigation menu, click Data > Databases.
- Expand the name of the database that contains the target schema.
- Expand the name of the target schema.
- Expand Tables.
Alternatively, the following Snowflake query returns a list of available tables for the schema named
<schema-name>
in the datbase named<database-name>
in the current account:Snowflake requires the target table to have a defined schema before Unstructured can write to the table. The recommended table schema for Unstructured is as follows:
SQL -
The name of the column in the table that uniquely identifies each record (for example,
RECORD_ID
).
To create the source connector:
- On the sidebar, click Connectors.
- Click Sources.
- Cick New or Create Connector.
- Give the connector some unique Name.
- In the Provider area, click Snowflake.
- Click Continue.
- Follow the on-screen instructions to fill in the fields as described later on this page.
- Click Save and Test.
Fill in the following fields:
- Name (required): A unique name for this connector.
- Account ID (required): The target Snowflake account’s identifier.
- Role (required): The name of the Snowflake role that the user belongs to. This role must have the appropriate access to the target Snowflake warehouse, database, schema, and table.
- User (required): The target Snowflake user’s login name (not their username).
- Password (required): The user’s password.
- Host (required): The hostname of the target Snowflake warehouse.
- Port (required): The warehouse’s port number. The default is
443
if not otherwise specified. - Database (required): The name of the target Snowflake database.
- Schema (required): The name of the target Snowflake schema within the database.
- Table (required, source connector only): The name of the target Snowflake table within the database’s schema. For the destination connector, the default is
elements
if not otherwise specified. - Columns (source connector only): A comma-separated list of columns to fetch from the table. By default, all columns are fetched unless otherwise specified.
- ID Column (required, source connector only): The name of the column that uniquely identifies each record in the table.
- Record ID Key (destination connector only): The name of the column that uniquely identifies each record in the table. The default is
record_id
if not otherwise specified. - Batch Size (required): The maximum number of rows to fetch for each batch. The default is
50
if not otherwise specified.
Was this page helpful?