Einrichten der SBT REPL für Snowpark

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
    
  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
    

    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"
    

    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 das OSGEO-Release-Repository zur Liste der Resolver und die Snowpark-Bibliothek zur Liste der Abhängigkeiten hinzu. Beispiel:

    resolvers += "OSGeo Release Repository" at "https://repo.osgeo.org/repository/release/"
    libraryDependencies += "com.snowflake" % "snowpark" % "0.6.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"
    

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

    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 können Sie für die Eigenschaft PRIVATEKEY den Wert des privaten Schlüssels aus der privaten Schlüsseldatei einstellen. Beachten Sie, dass Sie die Zeilen -----BEGIN ... PRIVATE KEY----- und -----END ... PRIVATE KEY----- sowie Zeilenumbrüche und Neue-Zeilen-Zeichen entfernen müssen.

    • Wenn Sie UDFs erstellen möchten:

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

    sbt "runMain Main"