Setting Up the SBT REPL for Snowpark Scala¶
This topic explains how to set up the SBT REPL for Snowpark.
Creating a New Scala Project in sbt¶
Next, create a new Scala project for Snowpark.
-
Create a new directory for your project, and change to that directory.
-
Run the
sbt newcommand, and specify the template that you want to use to create the new project. For example:Enter a name for your project. This creates a project directory with that name.
Configuring the sbt Project for Snowpark¶
Next, configure the project for Snowpark.
In the build.sbt file for your project, make the following changes:
-
If the
scalaVersionsetting does not match the version that you plan to use, update the setting. For example:Note that you must use a Scala version that is supported for use with the Snowpark library.
-
Add the Snowpark library to the list of dependencies. For example:
- Add the following lines to configure the REPL:
Verifying Your sbt Project Configuration¶
To verify that you have configured your project to use Snowpark, run a simple example of Snowpark code.
-
In the
src/main/scala/Main.scalafile, replace the contents with the code below:Note the following:
-
Replace the
placeholderswith values that you use to connect to Snowflake. -
For
account_identifier, specify your account identifier. -
If you prefer to use key pair authentication:
- Replace
PASSWORDwithPRIVATE_KEY_FILE, and set it to the path to your private key file. - If the private key is encrypted, you must set
PRIVATE_KEY_FILE_PWDto the passphrase for decrypting the private key.
As an alternative to setting
PRIVATE_KEY_FILEandPRIVATE_KEY_FILE_PWD, you can set thePRIVATEKEYproperty to the string value of the unencrypted private key from the private key file.- For example, if your private key file is unencrypted, set this to the value of the key in the file (without the
-----BEGIN PRIVATE KEY-----and-----END PRIVATE KEY-----header and footer and without the line endings). - Note that if the private key is encrypted, you must decrypt the key before setting it as the value of the
PRIVATEKEYproperty.
- Replace
- If you plan to create UDFs:
- Don’t set up your
objectto extend theApptrait. For details, see Caveat About Creating UDFs in an Object With the App Trait. - Don’t set up your
objectto extend a class or trait that is not serializable.
- Don’t set up your
-
-
Change to your project directory, and run the following command to run the sample code: