Snowpark

Note

Snowpark est actuellement disponible pour le langage de programmation Scala, à utiliser avec les comptes Snowflake hébergés sur Amazon Web Services (AWS).

Snowpark est une nouvelle expérience de développement qui offre une API intuitive pour l’interrogation et le traitement des données. Snowpark simplifie le processus de création de pipelines de données complexes et vous permet d’interagir directement avec Snowflake sans déplacer les données vers le système où s’exécute le code de votre application. Snowpark possède plusieurs fonctionnalités qui le distinguent des autres bibliothèques clientes :

  • L’API de Snowpark fournit des constructions de langage de programmation pour construire des instructions SQL. Par exemple, l’API fournit une méthode select que vous pouvez utiliser pour spécifier les noms de colonnes à retourner, plutôt que d’écrire 'select column_name' sous forme de chaîne.

    Bien que vous puissiez toujours utiliser une chaîne de caractères pour spécifier l’instruction SQL à exécuter, vous bénéficiez de fonctionnalités telles que le remplissage automatique et intelligent du code et la vérification des types lorsque vous utilisez les constructions du langage de programmation fournies par Snowpark.

  • Les opérations Snowpark sont exécutées de manière « lazy » sur le serveur, ce qui réduit la quantité de données transférées entre votre client et la base de données Snowflake.

    L’abstraction de base dans Snowpark est le DataFrame, qui représente un ensemble de données et fournit des méthodes pour opérer sur ces données. Dans votre code client, vous construisez un objet DataFrame et le configurez pour récupérer les données que vous souhaitez utiliser (par exemple, les colonnes contenant les données, le filtre à appliquer aux lignes, etc.)

    Les données ne sont pas récupérées au moment où vous construisez l’objet DataFrame. Au lieu de cela, lorsque vous êtes prêt à récupérer les données, vous pouvez exécuter une action qui évalue les objets DataFrame et envoie les instructions SQL correspondantes à la base de données Snowflake en vue de leur exécution.

  • Vous pouvez créer des fonctions définies par l’utilisateur (UDFs) dans votre code, et Snowpark peut pousser votre code vers le serveur, où le code peut opérer sur les données.

    Vous pouvez écrire des fonctions dans le même langage que celui que vous utilisez pour écrire votre code client (par exemple, en utilisant des fonctions anonymes au format Scala). Pour utiliser ces fonctions afin de traiter les données de la base de données Snowflake, vous devez définir et appeler des fonctions définies par l’utilisateur (UDFs) dans votre code personnalisé.

    Snowpark pousse automatiquement le code personnalisé pour les UDFs vers la base de données Snowflake. Lorsque vous appelez l’UDF dans votre code client, votre code personnalisé est exécuté sur le serveur (où se trouvent les données). Vous n’avez pas besoin de transférer les données à votre client afin d’exécuter la fonction sur les données.

Chapitres suivants :