Développement d’applications et d’extensions¶
Vous pouvez écrire des applications qui étendent Snowflake, qui agissent comme un client ou comme un composant d’intégration.
Interroger et traiter des données avec l’API Snowpark¶
En utilisant des APIs Snowpark en Java, Python ou Scala, vous pouvez développer des applications qui traitent les données dans Snowflake sans les déplacer vers le système où s’exécute le code de votre application.
Avec Snowpark, vous pouvez :
Créer des applications, des pipelines et des logiques de traitement définies en Java, Python ou Scala.
Créer des instructions de données à l’aide de bibliothèques qui s’intègrent nativement aux langages pris en charge.
Réduire la charge de travail liée au transfert des données vers et depuis Snowflake lors du traitement des données.
Créer des fonctions définies par l’utilisateur en écrivant en Java, Python ou Scala. Snowflake génère le code SQL requis en coulisses.
Pour une Vue d’ensemble de Snowpark, voir API Snowpark.
Guides du développeur¶
Guide |
Description |
---|---|
Un guide et une référence pour écrire du code Snowpark en Java. |
|
Un guide et une référence pour écrire du code Snowpark en Python. |
|
Un guide et une référence pour écrire du code Snowpark en Scala. |
|
Enregistrement de messages à partir de fonctions et de procédures |
Un guide pour l’écriture d’un code permettant d’enregistrer les messages du journal stockés dans une table d’événements. |
Un guide pour l’écriture d’un code permettant d’enregistrer des données de trace stockées dans une table d’événements. |
Démarrages rapides (Quickstarts)¶
Vous pouvez utiliser les tutoriels de démarrage rapide suivants pour vous familiariser avec Snowpark.
ML Snowpark¶
Snowpark ML est une bibliothèque Python pour le machine learning et la science des données dans Snowflake, y compris le prétraitement, la modélisation, la gestion des modèles et l’ingestion de données. Il fonctionne avec Snowpark Python, ce qui vous permet d’utiliser des DataFrames Snowpark pour les données d’entraînement et de test.
Étendre Snowflake avec des procédures, des fonctions définies par l’utilisateur et des fonctions externes¶
Vous pouvez améliorer et étendre Snowflake en écrivant des procédures, des fonctions définies par l’utilisateur et des fonctions externes.
Avec une procédure, vous pouvez effectuer des opérations planifiées ou à la demande en exécutant du code ou des instructions SQL. Vous écrivez la logique dans l’un des langages de programmation pris en charge.
Avec une fonction définie par l’utilisateur (UDF), vous pouvez exécuter une logique pour calculer et renvoyer des données. Les UDFs sont utiles pour le traitement par lots et l’intégration d’une logique personnalisée dans SQL. Vous écrivez la logique dans l’un des langages de programmation pris en charge.
Avec une fonction externe, vous pouvez mettre en place une intégration entre Snowflake et un code personnalisé s’exécutant en dehors de Snowflake, puis utiliser le code personnalisé comme vous le feriez avec une fonction définie par l’utilisateur.
Pour en savoir plus sur le choix de ces deux options, voir Choisir d’écrire une procédure stockée ou une fonction définie par l’utilisateur.
Guides du développeur¶
Guide |
Description |
---|---|
Guide pour l’écriture de procédures stockées, comment écrire des gestionnaires dans les langages pris en charge. |
|
Guide pour l’écriture d’UDFs, y compris la façon d’écrire des gestionnaires dans les langages prises en charge. |
|
Directives et contraintes de conception pour les fonctions et les procédures |
Lignes directrices générales sur la sécurité, les conventions, etc. |
Informations sur l’élaboration d’un code de gestionnaire que vous conserverez dans une zone de préparation. |
|
Guide pour écrire des fonctions externes, avec lesquelles vous pouvez invoquer du code sur d’autres systèmes. |
|
Enregistrement de messages à partir de fonctions et de procédures |
Un guide pour l’écriture d’un code permettant d’enregistrer les messages du journal qui sont stockés dans une table d’événements. |
Un guide pour l’écriture d’un code permettant d’enregistrer des données de trace stockées dans une table d’événements. |
Concevoir une application client avec des pilotes et des APIs¶
Vous pouvez intégrer des opérations Snowflake dans une application client. Outre l’API Snowpark, vous pouvez également utiliser des pilotes spécifiques au langage et à la plate-forme.
Pilotes¶
Les pilotes vous permettent de vous connecter à Snowflake à partir de votre code ou de vos applications. En utilisant des langages tels que C# Go, et Python, vous pouvez écrire des applications qui effectuent des opérations sur Snowflake. Pour des informations spécifiques sur chacun des pilotes que vous pouvez utiliser pour accéder à Snowflake, voir les sections suivantes.
Guides du développeur¶
API RESTful¶
En utilisant l’API SQL RESTful de Snowflake, vous pouvez accéder à des données et les mettre à jour via HTTPS et REST. Par exemple, vous pouvez soumettre des instructions SQL, créer et exécuter des procédures stockées, fournir des utilisateurs, etc.
Dans l’API REST SQL, vous soumettez une instruction SQL pour exécution dans le corps d’une requête POST
. Vous vérifiez ensuite le statut de l’exécution et récupérez les résultats à l’aide de requêtes GET
.
Pour le guide du développeur API REST SQL, voir API REST SQL Snowflake.
Intégration avec d’autres systèmes¶
Snowflake inclut des connecteurs avec les APIs pour l’intégration avec des systèmes extérieurs à Snowflake. Reportez-vous aux guides du développeur ci-dessous pour plus de détails.
Guides du développeur¶
Connecteur |
Description |
---|---|
Apache Kafka est une plate-forme de flux d’événements. Ce connecteur peut envoyer des événements de Kafka à Snowflake pour ingestion. |
|
Apache Spark est un moteur d’analyse pour le traitement de données à grande échelle. Le connecteur Spark peut être intégré dans les charges de travail Spark pour effectuer davantage de traitement de données directement sur Snowflake afin de réduire le transfert de données et d’améliorer considérablement les performances. |
Vous pouvez également intégrer Snowflake à de nombreux autres systèmes pour échanger des données, effectuer des analyses avec le machine learning, renforcer la sécurité, etc. Pour en savoir plus sur l’intégration de Snowflake avec ces systèmes, voir Écosystème de Snowflake.
Langues acceptées¶
Snowflake prend en charge plusieurs langages pour la création d’applications et d’extensions. Le tableau suivant répertorie les langages pris en charge pour le développement sur Snowflake, ainsi que ce que vous pouvez développer avec chacun d’entre eux.
Langage |
Fonctionnalité Snowflake |
---|---|
Java |
Vous pouvez :
|
JavaScript |
Vous pouvez :
|
PHP |
Vous pouvez :
|
Python |
Vous pouvez :
|
Scala |
Vous pouvez :
|
Exécution de scripts Snowflake |
Vous pouvez :
|
SQL |
Vous pouvez :
|