为 Snowpark Scala 设置 IntelliJ IDEA CE¶
本主题介绍如何为 Snowpark 设置 IntelliJ IDEA CE。
本主题内容:
为 Scala 开发设置 IntelliJ IDEA CE¶
要在 IntelliJ IDEA CE 中使用 Scala,需要安装 Scala 插件。请参阅 ` Getting Started with Scala in IntelliJ IDEA <https://docs.scala-lang.org/getting-started/intellij-track/getting-started-with-scala-in-intellij.html (https://docs.scala-lang.org/getting-started/intellij-track/getting-started-with-scala-in-intellij.html)>`_ 教程中的 ` Installation 部分 <https://docs.scala-lang.org/getting-started/intellij-track/getting-started-with-scala-in-intellij.html#installation (https://docs.scala-lang.org/getting-started/intellij-track/getting-started-with-scala-in-intellij.html#installation)>`_。
在 IntelliJ IDEA 中创建新的 Scala 项目¶
接下来,为 Snowpark 创建一个新的 Scala 项目。
选择 File » New » Project。
填写新项目的详细信息。
对于 JDK 和 Scala SDK,选择 2 支持与 Snowpark 一起使用的 JDK 和 Scala 版本。
点击 Finish 以创建新项目。
为 Snowpark 配置 IntelliJ IDEA 项目¶
接下来,为 Snowpark 配置项目。
在 ` 左侧 <https://www.jetbrains.com/help/idea/2020.3/guided-tour-around-the-user-interface.html (https://www.jetbrains.com/help/idea/2020.3/guided-tour-around-the-user-interface.html)>`_ 的 Project 工具窗口中,双击项目的
build.sbt
文件。在项目的
build.sbt
文件中,进行以下变更:如果
scalaVersion
设置与计划使用的版本不匹配,请更新设置。例如:scalaVersion := "2.12.13"
请注意,您必须使用 :ref:` 支持与 Snowpark 库配合使用的 Scala 版本 <label-snowpark_supported_languages>`。
将 Snowpark 库添加到依赖项列表中。例如:
libraryDependencies += "com.snowflake" % "snowpark" % "1.12.1"
保存对
build.sbt
文件所做的更改。更新 Maven 存储库。
请参阅 ` 更新 Maven 存储库 `_。
重新加载 SBT 项目:
选择 View » Tool Windows » sbt,以显示 sbt Tool 窗户。
右键点击项目名称,然后选择 Reload sbt Project。
这会导致 IntelliJ IDEA CE 下载 Snowpark 库,并使 API 可在您的代码中使用。
验证 IntelliJ IDEA 项目配置¶
要验证您是否已将项目配置为使用 Snowpark,请运行简单的 Snowpark 代码示例。
在 ` 左侧 <https://www.jetbrains.com/help/idea/2020.3/guided-tour-around-the-user-interface.html (https://www.jetbrains.com/help/idea/2020.3/guided-tour-around-the-user-interface.html)>`_ 的 Project 工具窗口中,展开您的项目,展开
src/main
文件夹,然后选择scala
文件夹。右键点击文件夹,然后选择 New » Scala class。
在 Create New Scala Class 对话框中,输入名称“Main”,选择 Object,然后按 Enter 键。
在
Main.scala
文件中,将内容替换为以下代码:import com.snowflake.snowpark._ import com.snowflake.snowpark.functions._ object Main { def main(args: Array[String]): Unit = { // Replace the <placeholders> below. val configs = Map ( "URL" -> "https://<account_identifier>.snowflakecomputing.cn:443", "USER" -> "<user name>", "PASSWORD" -> "<password>", "ROLE" -> "<role name>", "WAREHOUSE" -> "<warehouse name>", "DB" -> "<database name>", "SCHEMA" -> "<schema name>" ) val session = Session.builder.configs(configs).create session.sql("show tables").show() } }
请注意以下事项:
将
<placeholders>
替换为您用于连接到 Snowflake 的值。对于
<account_identifier>
,请指定您的 账户标识符。如果您更喜欢使用 密钥对身份验证,则执行以下操作:
将
PASSWORD
替换为PRIVATE_KEY_FILE
,并将其设置为私钥文件的路径。如果私钥已加密,则必须将
PRIVATE_KEY_FILE_PWD
设置为用于解密私钥的密码。
作为设置
PRIVATE_KEY_FILE
和PRIVATE_KEY_FILE_PWD
的替代方法,您可以将PRIVATEKEY
属性设置为私钥文件中 未加密私钥 的字符串值。例如,如果私钥文件未加密,请将其设置为文件中密钥的值(不带
-----BEGIN PRIVATE KEY-----
和-----END PRIVATE KEY-----
页眉和页脚,也没有行尾)。请注意,如果私钥已加密,则必须先解密私钥,然后才能将其设置为
PRIVATEKEY
属性的值。
如果您计划创建 UDFs,则执行以下操作:
不要设置
object
来扩展App
Trait。有关详细信息,请参阅 使用 App Trait 在对象中创建 UDFs 的注意事项。不要设置
object
来扩展不可序列化的类或 Trait。
点击
Object
行旁边的绿色箭头,然后选择 Run Main 以运行示例。