为 Snowpark Scala 设置 Visual Studio Code¶
本主题介绍如何为 Snowpark 设置 Visual Studio Code。
本主题内容:
为 Scala 开发设置 Visual Studio Code¶
为便于在 Visual Studio Code 中编写 Scala 代码,请安装 ` Metals 扩展程序 <https://scalameta.org/metals/docs/editors/vscode.html (https://scalameta.org/metals/docs/editors/vscode.html)>`_。Metals 扩展程序提供代码补全、参数提示以及有关类型和方法的信息。
要安装 Metals 扩展程序,请执行以下步骤:
在 ` 窗口左侧
_ 的 :extui:`Activity Bar
中,点击 Extensions 图标。(如果 Activity Bar 没有显示,请确保已选中 View » Appearance » Show Activity Bar。)
此时将显示 Extensions 视图,它允许您浏览和安装 Extensions Marketplace 中的扩展程序。
在 Search Extensions in Marketplace 的搜索框中,搜索该词:
metals
在搜索结果中找到 Scala (Metals) 扩展程序,然后点击 Install。
有关 Scala (Metals) 扩展程序的更多信息,请参阅 ` Metals 文档 <https://scalameta.org/metals/docs/editors/overview.html (https://scalameta.org/metals/docs/editors/overview.html)>`_ 中的 ` Visual Studio Code <https://scalameta.org/metals/docs/editors/vscode.html (https://scalameta.org/metals/docs/editors/vscode.html)>`_。
在 Visual Studio Code 中创建新的 Scala 项目¶
接下来,为 Snowpark 创建一个新的 Scala 项目。
为项目创建工作区目录。例如:
mkdir snowpark_projects
该目录将包含您创建的项目子目录。
在 Visual Studio Code 中,选择 File » Open,选择您创建的目录,然后点击 Open。
在左侧的 Activity Bar 中,点击 Metals 图标。
在 Side Bar 中的 Packages 下(位于 Activity Bar 的 ` 右侧
_),点击 :extui:`New Scala Project
按钮。选择要用于新项目的模板(如
scala/hello-world.g8
)。选择之前创建的工作区目录 (
snowpark_projects
),然后点击 Ok。输入新项目的名称(如
hello_snowpark
)。在窗口右下角的对话框提示时,点击 Yes 以在新窗口中打开新项目。
在窗口右下角的对话框提示时,点击 Import build 以 ` 导入构建文件 <https://scalameta.org/metals/docs/editors/vscode.html#importing-a-build (https://scalameta.org/metals/docs/editors/vscode.html#importing-a-build)>`_。
为 Snowpark 配置 Visual Studio Code 项目¶
接下来,为 Snowpark 配置项目。
在 ` 窗口左侧
_ 的 :extui:`Activity Bar
中,确保选中 Explorer 图标(顶部第一个图标)。在 Side Bar 中的 Explorer 下(位于 Activity Bar 的 ` 右侧
_),在项目下选择 ``build.sbt`
文件以进行编辑。在项目的
build.sbt
文件中,进行以下变更:如果
scalaVersion
设置与计划使用的版本不匹配,请更新设置。例如:scalaVersion := "2.12.13"
请注意,您必须使用 支持与 Snowpark 库配合使用的 Scala 版本。
将 Snowpark 库添加到依赖项列表中。例如:
libraryDependencies += "com.snowflake" % "snowpark" % "1.15.0"
完成这些变更后,选择 File » Save 保存变更。
在窗口右下角的对话框提示时,点击 Import changes 以 ` 重新导入文件 <https://scalameta.org/metals/docs/editors/vscode.html#importing-changes (https://scalameta.org/metals/docs/editors/vscode.html#importing-changes)>`_。
验证 Visual Studio Code 项目配置¶
要验证您是否已将项目配置为使用 Snowpark,请运行简单的 Snowpark 代码示例。
在 ` 窗口左侧
_ 的 :extui:`Activity Bar
中,确保选中 Explorer 图标(顶部第一个图标)。在 Side Bar 中的 Explorer 下,在项目下展开
src/main/scala
文件夹,然后选择并打开Main.scala
文件。在
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 来运行示例。
如果出现以下错误消息:
Run session not started
检查窗口底部的 Problems 选项卡。如果窗口底部未显示该选项卡,请从菜单中选择 View > Problems 项。