Snowpark Scalaの SBT REPL の設定¶
このトピックでは、Snowparkの SBT REPL を設定する方法について説明します。
このトピックの内容:
sbtでの新しいScalaプロジェクトの作成¶
次に、Snowpark用の新しいScalaプロジェクトを作成します。
プロジェクト用に新しいディレクトリを作成し、そのディレクトリに移動します。
mkdir snowpark_project cd snowpark_project
sbt new
コマンドを実行し、新しいプロジェクトの作成に使用する テンプレート を指定します。例:sbt new scala/hello-world.g8
プロジェクトの名前を入力します。これにより、その名前のプロジェクトディレクトリが作成されます。
Snowpark用sbtプロジェクトの構成¶
次に、Snowpark用プロジェクトを構成します。
プロジェクトの build.sbt
ファイルで、次を変更します。
scalaVersion
設定が使用する予定のバージョンと一致しない場合は、設定を更新します。例:scalaVersion := "2.12.13"
Snowparkライブラリとの使用がサポートされているScalaバージョン を使用する必要があることに注意してください。
Snowparkライブラリを依存関係のリストに追加します。例:
libraryDependencies += "com.snowflake" % "snowpark" % "1.10.0"
次の行を追加して、 REPL を構成します。
Compile/console/scalacOptions += "-Yrepl-class-based" Compile/console/scalacOptions += "-Yrepl-outdir" Compile/console/scalacOptions += "repl_classes"
sbtプロジェクト構成の確認¶
Snowparkを使用するようにプロジェクトを構成したことを確認するには、Snowparkコードの簡単な例を実行します。
src/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.com: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() } }
次の点に注意してください。
<プレースホルダー>
をSnowflakeへの接続に使用する値に置き換えます。<アカウント識別子>
には、使用する アカウント識別子 を指定します。キーペア認証 を使用する場合は、
PASSWORD
をPRIVATE_KEY_FILE
に置き換え、秘密キーファイルへのパスに設定します。秘密キーが暗号化されている場合は、秘密キーを復号化するためのパスフレーズに
PRIVATE_KEY_FILE_PWD
を設定する必要があります。
PRIVATE_KEY_FILE
とPRIVATE_KEY_FILE_PWD
を設定する代わりに、PRIVATEKEY
プロパティを秘密キーファイルからの 暗号化されていない 秘密キーの文字列値に設定できます。たとえば、秘密キーファイルが暗号化されていない場合は、これをファイル内のキーの値に設定します(
-----BEGIN PRIVATE KEY-----
と-----END PRIVATE KEY-----
ヘッダーとフッターなし、行末なし)。秘密キーが暗号化されている場合は、
PRIVATEKEY
プロパティの値として設定する前に、キーを復号化する必要があることに注意してください。
UDFs を作成する場合は、
App
特徴を拡張するようにobject
を設定しないでください。詳細については、 アプリの特徴を使用してオブジェクトに UDFs を作成する際の警告 をご参照ください。シリアル化できないクラスまたは特徴を拡張するように
object
を設定しないでください。
プロジェクトディレクトリに移動し、次のコマンドを実行してサンプルコードを実行します。
sbt "runMain Main"