Configuration du SBT REPL pour Snowpark Scala¶
Cette rubrique explique comment configurer SBT REPL pour Snowpark.
Dans ce chapitre :
Création d’un nouveau projet Scala dans sbt¶
Ensuite, créez un nouveau projet Scala pour Snowpark.
Créez un nouveau répertoire pour votre projet, et passez dans ce répertoire.
mkdir snowpark_project cd snowpark_project
Exécutez la commande
sbt new
, et spécifiez le modèle que vous souhaitez utiliser pour créer le nouveau projet. Par exemple :sbt new scala/hello-world.g8
Saisissez un nom pour votre projet. Cela crée un répertoire de projet avec ce nom.
Configuration du projet sbt pour Snowpark¶
Ensuite, configurez le projet pour Snowpark.
Dans le fichier build.sbt
de votre projet, apportez les modifications suivantes :
Si le paramètre
scalaVersion
ne correspond pas à la version que vous prévoyez d’utiliser, mettez-le à jour. Par exemple :scalaVersion := "2.12.13"
Notez que vous devez utiliser une version de Scala qui est prise en charge pour l’utilisation de la bibliothèque Snowpark.
Ajoutez la bibliothèque Snowpark à la liste des dépendances. Par exemple :
libraryDependencies += "com.snowflake" % "snowpark" % "1.10.0"
Ajoutez les lignes suivantes pour configurer REPL :
Compile/console/scalacOptions += "-Yrepl-class-based" Compile/console/scalacOptions += "-Yrepl-outdir" Compile/console/scalacOptions += "repl_classes"
Vérification de la configuration de votre projet sbt¶
Pour vérifier que vous avez configuré votre projet pour utiliser Snowpark, exécutez un exemple simple de code Snowpark.
Dans le fichier
src/main/scala/Main.scala
, remplacez le contenu par le code ci-dessous :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() } }
Remarques :
Remplacez les
<espaces réservés>
par les valeurs que vous utilisez pour vous connecter à Snowflake.Pour
<identificateur_de_compte>
, indiquez votre identificateur de compte.Si vous préférez utiliser l’authentification par paire de clés :
Remplacez
PASSWORD
parPRIVATE_KEY_FILE
et indiquez le chemin d’accès à votre fichier de clé privée.Si la clé privée est chiffrée, vous devez définir
PRIVATE_KEY_FILE_PWD
comme étant la phrase secrète pour le déchiffrage de la clé privée.
Au lieu de définir
PRIVATE_KEY_FILE
etPRIVATE_KEY_FILE_PWD
, vous pouvez définir la propriétéPRIVATEKEY
sur la valeur de chaîne de la clé privée non chiffrée du fichier de clé privée.Par exemple, si votre fichier de clé privée n’est pas chiffré, définissez cette propriété sur la valeur de la clé dans le fichier (sans les en-têtes et pieds de page
-----BEGIN PRIVATE KEY-----
et-----END PRIVATE KEY-----
et sans les fins de ligne).Notez que si la clé privée est chiffrée, vous devez déchiffrer la clé avant de la définir comme valeur de la propriété
PRIVATEKEY
.
Si vous prévoyez de créer des UDFs :
Ne configurez pas votre
object
pour étendreApp
Trait. Pour plus de détails, voir Mise en garde concernant la création d’UDFs dans un objet avec l’App Trait.Ne configurez pas votre
object
pour étendre une classe ou un trait qui n’est pas sérialisable.
Passez dans le répertoire de votre projet et exécutez la commande suivante pour exécuter l’exemple de code :
sbt "runMain Main"