Configuration de Scala REPL pour Snowpark Scala¶
Cette rubrique explique comment configurer Scala REPL pour Snowpark.
Dans ce chapitre :
Installation de Scala REPL¶
Le programme Scala REPL (boucle read-eval-print) est fourni avec l’outil de construction Scala. Pour installer la version prise en charge de l’outil de construction Scala, trouvez la version que vous prévoyez d’utiliser et suivez les instructions d’installation.
Exécution du programme Scala REPL¶
Pour utiliser la bibliothèque Snowpark dans le programme Scala REPL :
Si vous ne l’avez pas encore fait, téléchargez le fichier d’archive de la bibliothèque Snowpark et extrayez le contenu du fichier.
Démarrez le REPL en exécutant le script shell
run.sh
fourni dans le fichier d’archive :
cd <path>/snowpark-1.10.0 ./run.sh
Le script run.sh
fait ce qui suit :
Ajoute la bibliothèque Snowpark et ses dépendances au classpath.
Crée un répertoire <path>/snowpark-1.10.0/repl_classes/ pour les classes générées par REPL Scala.
Précharge le fichier
preload.scala
, qui importe le paquetcom.snowflake.snowpark
et l’objetcom.snowflake.snowpark.functions
.
Si vous utilisez un REPL différent pour Scala :
Ajoutez le fichier JAR de la bibliothèque Snowpark et ses dépendances au classpath.
Le fichier JAR de la bibliothèque Snowpark se trouve dans le répertoire de niveau supérieur du fichier d’archive TAR/ZIP extrait.
Les dépendances se trouvent dans le répertoire
lib
du fichier d’archive TAR/ZIP extrait.
Créez un répertoire temporaire pour les classes générées par le REPL, et configurez le REPL pour qu’il génère des classes dans ce répertoire.
Plus tard, lorsque vous définirez des fonctions en ligne définies par l’utilisateur (UDFs), vous devrez spécifier le répertoire des classes REPL comme une dépendance.
Vérification de la configuration de Scala REPL¶
Pour vérifier que vous avez configuré votre projet pour utiliser Snowpark, exécutez un exemple simple de code Snowpark.
Dans le répertoire contenant les fichiers extraits du fichier
.zip
/.tar.gz
(c’est-à-dire le répertoire contenant le scriptrun.sh
), créez un fichierMain.scala
qui contient 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.
À partir du répertoire, exécutez le script
run.sh
pour démarrer REPL Scala avec les paramètres nécessaires pour la bibliothèque Snowpark :./run.sh
Dans le shell Scala REPL, entrez la commande suivante pour charger le fichier d’exemple que vous venez de créer :
:load Main.scala
Exécutez l’instruction suivante pour exécuter la méthode
main
de la classe que vous avez chargée :Main.main(Array[String]())
Ceci exécute la commande
SHOW TABLES
et imprime les 10 premières lignes des résultats.