Projet de gestionnaire et empaquetage des UDF Scala¶
Vous pouvez faciliter la maintenance des projets de code de gestionnaire en utilisant une hiérarchie de projet bien organisée et des outils de construction courants. Ils sont utiles lorsque vous avez l’intention de copier le code du gestionnaire dans une zone de préparation Snowflake, puis d’y faire référence à partir de fonctions et de procédures.
Pour construire et empaqueter le code du gestionnaire, vous pouvez utiliser des outils populaires tels que sbt, Maven et Gradle. Pour plus d’informations, reportez-vous aux rubriques suivantes :
Une fois que vous avez empaqueté le code du gestionnaire, vous pouvez l’ajouter à une zone de préparation comme décrit dans Mettre les dépendances à la disposition de votre code.
Pour plus d’informations sur le choix de garder votre gestionnaire en ligne ou sur une zone de préparation, reportez-vous à Conserver le code du gestionnaire en ligne ou dans une zone de préparation.
Organiser vos fichiers¶
Si vous avez l’intention d’empaqueter votre gestionnaire dans un fichier JAR et de le placer dans une zone de préparation Snowflake, vous pouvez trouver utile d’utiliser une hiérarchie de projet qui organise le code du gestionnaire Snowflake. Cette section propose une hiérarchie pour l’organisation des fichiers.
Pour un modèle GitHub que vous pouvez utiliser pour créer une hiérarchie de projet comme celle-ci, référez-vous au référentiel Snowflake-Labs GitHub.
SnowflakeProject
|-- project
| |-- plugins.sbt
|-- src
| |-- main / scala / org / example
| | |-- function
| | | |-- FunctionHandler.scala
| | |-- procedure
| | |-- utils
| |-- test / scala / org / example
| | |-- function
| | |-- procedure
|-- build.sbt
|-- pom.xml
Le tableau suivant décrit les sections de la hiérarchie.
Répertoire/fichier |
Description |
---|---|
répertoire |
Contient des fichiers utilisés par sbt pour guider la construction et l’empaquetage du code.
|
Répertoire |
Contient les fichiers sources du code du gestionnaire.
|
Répertoire |
Contient les fichiers sources des tests du gestionnaire.
|
fichier |
Spécifie la définition de la construction utilisée par sbt, y compris le nom et la version de la sortie construite, les dépendances, etc. Pour plus d’informations, reportez-vous à Empaquetage du code du gestionnaire Scala avec sbt. |
fichier |
Spécifie la définition de construction utilisée par Maven. Pour plus d’informations, reportez-vous à Empaquetage du code du gestionnaire Java ou Scala avec Maven. |