Snowpark Scala用Scala REPL の設定¶
このトピックでは、Snowpark用Scala REPL を設定する方法について説明します。
このトピックの内容:
Java REPL のインストール¶
Scala REPL (read-eval-printループ)は、Scalaビルドツールで提供されます。 サポートされているScalaビルドツールのバージョン をインストールするには、 使用する予定のバージョン を見つけて、インストール手順に従います。
Scala REPL の実行¶
Scala REPL でSnowparkライブラリを使用するには、
まだ実行していない場合は、 Snowparkライブラリアーカイブファイルをダウンロードして、ファイルの内容を抽出 します。
アーカイブファイルで提供されている
run.sh
シェルスクリプトを実行して、 REPL を開始します。
cd <path>/snowpark-1.10.0 ./run.sh
run.sh
スクリプトは、次を実行します。
Snowparkライブラリと依存関係をクラスパスに追加します。
Scala REPL によって生成されたクラスの <パス>/snowpark-1.10.0/repl_classes/ ディレクトリを作成します。
com.snowflake.snowpark
パッケージとcom.snowflake.snowpark.functions
オブジェクトをインポートするpreload.scala
ファイルをプリロードします。
Scalaに別の REPL を使用している場合は、
Snowparkライブラリ JAR ファイルと依存関係をクラスパスに追加します。
Snowparkライブラリの JAR ファイルは、抽出された TAR/ZIP アーカイブファイルの最上位ディレクトリにあります。
依存関係は、抽出された TAR/ZIP アーカイブファイルの
lib
ディレクトリにあります。
REPL によって生成されたクラスの仮ディレクトリを作成し、そのディレクトリにクラスを生成するように REPL を構成します。
後で、インラインユーザー定義関数(UDFs)を定義するときに、 依存関係として REPL クラスのディレクトリを指定 する必要があります。
Scala REPL 構成の確認¶
Snowparkを使用するようにプロジェクトを構成したことを確認するには、Snowparkコードの簡単な例を実行します。
.zip
/.tar.gz
ファイルから抽出されたファイルを含むディレクトリ(つまり、run.sh
スクリプトを含むディレクトリ)に、以下のコードを含む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
を設定しないでください。
ディレクトリ内から、
run.sh
スクリプトを実行して、Snowparkライブラリに必要な設定でScala REPL を起動します。./run.sh
Scala REPL シェルで次のコマンドを入力して、作成したサンプルファイルをロードします。
:load Main.scala
次のステートメントを実行して、ロードしたクラスの
main
メソッドを実行します。Main.main(Array[String]())
これにより、
SHOW TABLES
コマンドが実行され、結果の最初の10行が出力されます。