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.
Erstellen Sie ein neues Verzeichnis für Ihr Projekt, und wechseln Sie in dieses Verzeichnis.
mkdir snowpark_project cd snowpark_project
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:
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.
Fügen Sie die Snowpark-Bibliothek zur Liste der Abhängigkeiten hinzu. Beispiel:
libraryDependencies += "com.snowflake" % "snowpark" % "1.10.0"
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.
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
durchPRIVATE_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
undPRIVATE_KEY_FILE_PWD
können Sie für die EigenschaftPRIVATEKEY
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.
Wenn Sie UDFs erstellen möchten:
Richten Sie nicht Ihr
object
ein, um denApp
Trait zu erweitern. Weitere Details dazu finden Sie unter Einschränkungen beim Erstellen von UDFs in einem Objekt mit der Eigenschaft „App Trait“.Richten Sie Ihr
object
nicht so ein, dass eine Klasse oder ein Trait erweitert wird, die/der nicht serialisierbar ist.
Wechseln Sie in Ihr Projektverzeichnis, und führen Sie den folgenden Befehl aus, um den Beispielcode auszuführen:
sbt "runMain Main"