为 Snowpark Scala 设置 SBT REPL¶
本主题介绍如何为 Snowpark 设置 SBT REPL。
在 sbt 中创建新的 Scala 项目¶
接下来,为 Snowpark 创建一个新的 Scala 项目。
-
为项目创建一个新目录,然后切换到该目录。
-
Run the
sbt newcommand, and specify the template (https://www.scala-sbt.org/1.x/docs/sbt-new-and-Templates.html) that you want to use to create the new project. For example:
输入项目的名称。这将创建一个具有该名称的项目目录。
为 Snowpark 配置 sbt 项目¶
接下来,为 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:
libraryDependencies += "com.snowflake" % "snowpark_2.12" % "1.18.0"
- 添加以下行以配置 REPL:
验证 sbt 项目配置¶
要验证您是否已将项目配置为使用 Snowpark,请运行简单的 Snowpark 代码示例。
-
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
-
-
切换到项目目录,执行以下命令以运行示例代码: