Einrichten der SBT REPL für Snowpark Scala

Unter diesem Thema wird erklärt, wie Sie die SBT REPL für Snowpark einrichten.

Unter diesem Thema:

Erstellen eines neuen Scala-Projekts in sbt

Als Nächstes erstellen Sie ein neues Scala-Projekt für Snowpark.

  1. Erstellen Sie ein neues Verzeichnis für Ihr Projekt, und wechseln Sie in dieses Verzeichnis.

    mkdir snowpark_project
    cd snowpark_project
    
    Copy
  2. Führen Sie den Befehl sbt new aus, und geben Sie die Vorlage an, die Sie zum Erstellen des neuen Projekts verwenden möchten. Beispiel:

    sbt new scala/hello-world.g8
    
    Copy

    Geben Sie einen Namen für Ihr Projekt ein. Dadurch wird ein Projektverzeichnis mit diesem Namen erstellt.

Konfigurieren des sbt-Projekts für Snowpark

Als Nächstes konfigurieren Sie das Projekt für Snowpark.

Nehmen Sie in der build.sbt-Datei Ihres Projekts die folgenden Änderungen vor:

  1. Wenn die Einstellung scalaVersion nicht mit der Version übereinstimmt, die Sie verwenden möchten, aktualisieren Sie die Einstellung. Beispiel:

    scalaVersion := "2.12.13"
    
    Copy

    Stellen Sie sicher, dass Sie eine Scala-Version verwenden, die für die Verwendung mit der Snowpark-Bibliothek unterstützt wird.

  2. Fügen Sie die Snowpark-Bibliothek zur Liste der Abhängigkeiten hinzu. Beispiel:

    libraryDependencies += "com.snowflake" % "snowpark" % "1.9.0"
  3. Fügen Sie die folgenden Zeilen hinzu, um REPL zu konfigurieren:

    Compile/console/scalacOptions += "-Yrepl-class-based"
    Compile/console/scalacOptions += "-Yrepl-outdir"
    Compile/console/scalacOptions += "repl_classes"
    
    Copy

Überprüfen der Konfiguration Ihres sbt-Projekts

Um zu überprüfen, ob Sie Ihr Projekt für die Verwendung von Snowpark konfiguriert haben, führen Sie ein einfaches Beispiel mit Snowpark-Code aus.

  1. Ersetzen Sie in der Datei src/main/scala/Main.scala den Inhalt durch den unten stehenden Code:

    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()
      }
    }
    
    Copy

    Beachten Sie Folgendes:

    • Ersetzen Sie die <Platzhalter> durch Werte, die Sie zur Verbindung mit Snowflake verwenden.

    • Geben Sie für <Kontobezeichner> Ihren Kontobezeichner an.

    • Bei Verwendung der Schlüsselpaar-Authentifizierung:

      • Ersetzen Sie PASSWORD durch PRIVATE_KEY_FILE, und geben Sie den Pfad zu Ihrer privaten Schlüsseldatei an.

      • Wenn der private Schlüssel verschlüsselt ist, müssen Sie für PRIVATE_KEY_FILE_PWD die Passphrase zum Entschlüsseln des privaten Schlüssels einstellen.

      Alternativ zur Einstellung von PRIVATE_KEY_FILE und PRIVATE_KEY_FILE_PWD können Sie für die Eigenschaft PRIVATEKEY den Zeichenfolgenwert des unverschlüsselten privaten Schlüssels aus der privaten Schlüsseldatei einstellen.

      • Wenn Ihre private Schlüsseldatei beispielsweise unverschlüsselt ist, setzen Sie diesen Wert auf den Wert des Schlüssels in der Datei (ohne die Kopf- und Fußzeilen -----BEGIN PRIVATE KEY----- und -----END PRIVATE KEY----- und ohne die Zeilenenden).

      • Beachten Sie, dass Sie bei einem verschlüsselten privaten Schlüssel erst den Schlüssel entschlüsseln müssen, bevor Sie ihn als Wert der Eigenschaft PRIVATEKEY festlegen.

  2. Wechseln Sie in Ihr Projektverzeichnis, und führen Sie den folgenden Befehl aus, um den Beispielcode auszuführen:

    sbt "runMain Main"
    
    Copy