Snowpark用Scala REPL の設定

このトピックでは、Snowpark用Scala REPL を設定する方法について説明します。

このトピックの内容:

Java REPL のインストール

Scala REPLread-eval-printループ)は、Scalaビルドツールで提供されます。 サポートされているScalaビルドツールのバージョン をインストールするには、 使用する予定のバージョン を見つけて、インストール手順に従います。

Scala REPL の実行

Scala REPL でSnowparkライブラリを使用するには、

  1. まだ実行していない場合は、 Snowparkライブラリアーカイブファイルをダウンロードして、ファイルの内容を抽出 します。

  2. アーカイブファイルで提供されている run.sh シェルスクリプトを実行して、 REPL を開始します。

cd <path>/snowpark-0.8.0
./run.sh

run.sh スクリプトは、次を実行します。

  • Snowparkライブラリと依存関係をクラスパスに追加します。

  • Scala REPL によって生成されたクラスの <パス>/snowpark-0.1.0/repl_classes/ ディレクトリを作成します。

  • com.snowflake.snowpark パッケージと com.snowflake.snowpark.functions オブジェクトをインポートする preload.scala ファイルをプリロードします。

Scalaに別の REPL を使用している場合は、

  1. Snowparkライブラリ JAR ファイルと依存関係をクラスパスに追加します。

    • Snowparkライブラリの JAR ファイルは、抽出された TAR/ZIP アーカイブファイルの最上位ディレクトリにあります。

    • 依存関係は、抽出された TAR/ZIP アーカイブファイルの lib ディレクトリにあります。

  2. REPL によって生成されたクラスの仮ディレクトリを作成し、そのディレクトリにクラスを生成するように REPL を構成します。

後で、インラインユーザー定義関数(UDFs)を定義するときに、 依存関係として REPL クラスのディレクトリを指定 する必要があります。

Scala REPL 構成の確認

Snowparkを使用するようにプロジェクトを構成したことを確認するには、Snowparkコードの簡単な例を実行します。

  1. .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への接続に使用する値に置き換えます。

    • <アカウント識別子> には、使用する アカウント識別子 を指定します。

    • キーペア認証 を使用する場合は、

      • PASSWORDPRIVATE_KEY_FILE に置き換え、秘密キーファイルへのパスに設定します。

      • 秘密キーが暗号化されている場合は、秘密キーを復号化するためのパスフレーズに PRIVATE_KEY_FILE_PWD を設定する必要があります。

      PRIVATE_KEY_FILEPRIVATE_KEY_FILE_PWD を設定する代わりに、 PRIVATEKEY プロパティを秘密キーファイルからの 暗号化されていない 秘密キーの文字列値に設定できます。

      • たとえば、秘密キーファイルが暗号化されていない場合は、これをファイル内のキーの値に設定します(-----BEGIN PRIVATE KEY----------END PRIVATE KEY----- ヘッダーとフッターなし、行末なし)。

      • 秘密キーが暗号化されている場合は、 PRIVATEKEY プロパティの値として設定する前に、キーを復号化する必要があることに注意してください。

    • UDFs を作成する場合は、

  2. ディレクトリ内から、 run.sh スクリプトを実行して、Snowparkライブラリに必要な設定でScala REPL を起動します。

    ./run.sh
    
  3. Scala REPL シェルで次のコマンドを入力して、作成したサンプルファイルをロードします。

    :load Main.scala
    
  4. 次のステートメントを実行して、ロードしたクラスの main メソッドを実行します。

    Main.main(Array[String]())
    

    これにより、 SHOW TABLES コマンドが実行され、結果の最初の10行が出力されます。