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
Copy

Le tableau suivant décrit les sections de la hiérarchie.

Répertoire/fichier

Description

répertoire project

Contient des fichiers utilisés par sbt pour guider la construction et l’empaquetage du code.

  • Le fichier plugins.sbt spécifie les plugins utilisés par sbt. Pour construire du code à utiliser dans Snowflake, ajoutez un plugin pour aider à créer un JAR avec les dépendances de votre gestionnaire. Pour plus d’informations, reportez-vous à Empaquetage du code du gestionnaire Scala avec sbt.

Répertoire src / main / scala / org / example

Contient les fichiers sources du code du gestionnaire.

  • Utilisez le répertoire function pour contenir la source du gestionnaire des fonctions définies par l’utilisateur (UDFs).

  • Utilisez le répertoire procedure pour contenir la source du gestionnaire pour les procédures stockées.

  • Utilisez le répertoire utils pour contenir la source du gestionnaire requis pour les deux.

Répertoire src / test / scala / org / example

Contient les fichiers sources des tests du gestionnaire.

  • Utilisez le répertoire function pour contenir les tests des fonctions définies par l’utilisateur (UDFs).

  • Utilisez le répertoire procedure pour contenir les tests des procédures stockées.

fichier build.sbt

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 pom.xml

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.