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.
Dans le répertoire contenant votre fichier
build.sbt
, dans le sous-répertoireproject/
, créez un fichier nomméplugins.sbt
.Par exemple, si le répertoire contenant votre fichier
build.sbt
esthello-snowpark/
, créez le fichierhello-snowpark/project/plugins.sbt
:hello-snowpark/ |-- build.sbt |-- project/ |-- plugins.sbt
Dans le fichier
plugins.sbt
ajoutez la ligne suivante :addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "1.1.0")
Cela ajoute le plugin sbt-assembly à votre projet.
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.Si votre projet nécessite la bibliothèque Snowpark, faites-y référence dans votre fichier
build.sbt
aveclibraryDependencies
, 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"
Accédez au répertoire de votre projet (par exemple
hello-snowpark
) et exécutez la commande suivante :sbt assembly
Note
Si vous rencontrez l’erreur
Not a valid command: assembly
,Not a valid project ID: assembly
ouNot a valid key: assembly
, assurez-vous que le fichierplugins.sbt
se trouve dans le sous-répertoireproject/
(comme indiqué à l’étape 1).Cette commande crée un fichier JAR à l’emplacement suivant :
target/scala-<version>/<project-name>-assembly-1.0.jar