Configuration du SBT REPL pour Snowpark

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.

  1. Créez un nouveau répertoire pour votre projet, et passez dans ce répertoire.

    mkdir snowpark_project
    cd snowpark_project
    
  2. 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 :

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

  2. Ajoutez le référentiel de la version OSGEO à la liste des résolveurs, et ajoutez la bibliothèque Snowpark à la liste des dépendances. Par exemple :

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

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

    • Si vous prévoyez de créer des UDFs :

  2. Passez dans le répertoire de votre projet et exécutez la commande suivante pour exécuter l’exemple de code :

    sbt "runMain Main"