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 :

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

  2. Démarrez le REPL en exécutant le script shell run.sh fourni dans le fichier d’archive :

cd <path>/snowpark-1.9.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.9.0/repl_classes/ pour les classes générées par REPL Scala.

  • Précharge le fichier preload.scala, qui importe le paquet com.snowflake.snowpark et l’objet com.snowflake.snowpark.functions.

Si vous utilisez un REPL différent pour Scala :

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

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

  1. Dans le répertoire contenant les fichiers extraits du fichier .zip / .tar.gz (c’est-à-dire le répertoire contenant le script run.sh), créez un fichier Main.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()
      }
    }
    
    Copy

    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 par PRIVATE_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 et PRIVATE_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.

  2. À 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
    
    Copy
  3. Dans le shell Scala REPL, entrez la commande suivante pour charger le fichier d’exemple que vous venez de créer :

    :load Main.scala
    
    Copy
  4. Exécutez l’instruction suivante pour exécuter la méthode main de la classe que vous avez chargée :

    Main.main(Array[String]())
    
    Copy

    Ceci exécute la commande SHOW TABLES et imprime les 10 premières lignes des résultats.