Empaquetage du code du gestionnaire Scala avec sbt

Vous pouvez utiliser l’outil de construction Scala (sbt) pour construire et empaqueter votre code en tant qu’assemblage JAR. Vous pouvez utiliser le plugin sbt-assembly pour créer un fichier JAR contenant toutes les dépendances.

Une fois que vous avez un fichier JAR, vous pouvez le charger vers une zone de préparation de Snowflake, puis le référencer dans le paramètre IMPORTS de l’instruction CREATE FUNCTION ou CREATE PROCEDURE que vous utilisez pour créer la fonction ou la procédure. Pour plus d’informations sur le chargement des fichiers JAR, voir Mettre les dépendances à la disposition de votre code. Pour plus d’informations sur le choix d’un code en ligne ou sur une zone de préparation, voir Conserver le code du gestionnaire en ligne ou dans une zone de préparation.

Pour créer un fichier JAR d’assemblage avec le code de votre gestionnaire, procédez comme suit.

  1. Dans le répertoire contenant votre fichier build.sbt, dans le sous-répertoire project/, créez un fichier nommé plugins.sbt.

    Par exemple, si le répertoire contenant votre fichier build.sbt est hello-snowpark/, créez le fichier hello-snowpark/project/plugins.sbt :

    hello-snowpark/
    |-- build.sbt
        |-- project/
            |-- plugins.sbt
    
    Copy
  2. Dans le fichier plugins.sbt ajoutez la ligne suivante :

    addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "1.1.0")
    
    Copy

    Cela ajoute le plugin sbt-assembly à votre projet.

  3. Si votre projet nécessite plusieurs versions de la même bibliothèque (par exemple, si votre projet dépend de deux bibliothèques qui nécessitent des versions différentes d’une troisième bibliothèque), définissez une stratégie de fusion dans votre fichier build.sbt pour résoudre les dépendances. Voir Stratégie de fusion pour plus de détails.

  4. Si votre projet nécessite la bibliothèque Snowpark, faites-y référence dans votre fichier build.sbt avec libraryDependencies, comme indiqué ci-dessous. Veillez à utiliser au moins la version minimale requise.

    La bibliothèque Snowpark étant incluse dans Snowflake, il faut l’exclure du fichier JAR en spécifiant que la dépendance est "provided".

    libraryDependencies += "com.snowflake" % "snowpark" % "1.1.0" % "provided"
    
    Copy
  5. Accédez au répertoire de votre projet (par exemple hello-snowpark) et exécutez la commande suivante :

    sbt assembly
    
    Copy

    Note

    Si vous rencontrez l’erreur Not a valid command: assembly, Not a valid project ID: assembly ou Not a valid key: assembly, assurez-vous que le fichier plugins.sbt se trouve dans le sous-répertoire project/ (comme indiqué à l’étape 1).

    Cette commande crée un fichier JAR à l’emplacement suivant :

    target/scala-<version>/<project-name>-assembly-1.0.jar
    
    Copy