Exécuter des charges de travail Spark à partir de VS Code, Jupyter Notebooks ou un terminal¶
Vous pouvez exécuter des charges de travail Spark de manière interactive à partir de Jupyter Notebooks, VS Code, ou toute interface basée sur Python sans avoir besoin de gérer un cluster Spark. Les charges de travail s’exécutent sur l’infrastructure Snowflake.
Par exemple, vous pouvez effectuer les tâches suivantes :
Confirmer que vous avez des conditions préalables.
Configurer votre environnement pour vous connecter avec Snowpark Connect for Spark sur Snowflake.
Installez Snowpark Connect for Spark.
Exécuter le code PySpark depuis votre client pour l’exécuter sur Snowflake.
Conditions préalables¶
Vérifiez que vos installations Python et Java sont basées sur la même architecture informatique. Par exemple, si Python est basé sur arm64, Java doit également être basé sur arm64 (et non x86_64, par exemple).
Configurer votre environnement¶
Vous pouvez configurer votre environnement de développement en veillant à ce que le code puisse se connecter à Snowpark Connect for Spark sur Snowflake. Pour se connecter à Snowflake, le code client utilisera un fichier .toml contenant les détails de la connexion.
Si Snowflake CLI est installée, vous pouvez l’utiliser pour définir une connexion. Sinon, vous pouvez écrire manuellement les paramètres de connexion dans un fichier config.toml.
Ajouter une connexion en utilisant Snowflake CLI¶
Vous pouvez utiliser Snowflake CLI pour ajouter des propriétés de connexion que Snowpark Connect for Spark peut utiliser pour se connecter à Snowflake. Vos modifications sont enregistrées dans un fichier config.toml.
Exécutez la commande suivante pour ajouter une connexion à l’aide de la commande :command:
addsnow connection.Suivez les invites pour définir une connexion.
Veillez à spécifier
spark-connectcomme nom de connexion.Cette commande ajoute une connexion à votre fichier
config.toml, comme dans l’exemple suivant :Exécutez la commande suivante pour confirmer que la connexion fonctionne.
Vous pouvez tester la connexion de cette manière lorsque vous l’avez ajoutée en utilisant Snowflake CLI.
Ajouter une connexion en écrivant manuellement un fichier de connexion¶
Vous pouvez écrire ou mettre à jour manuellement un fichier connections.toml afin que votre code puisse se connecter à Snowpark Connect for Spark sur Snowflake.
Exécutez la commande suivante pour vous assurer que votre fichier
connections.tomlautorise uniquement au propriétaire (utilisateur) d’avoir un accès en lecture et en écriture.Modifiez le fichier
connections.tomlafin qu’il contienne une connexion[spark-connect]avec les propriétés de connexion dans l’exemple suivant.Veillez à remplacer les valeurs par vos propres spécificités de connexion.
Installer Snowpark Connect for Spark¶
Vous pouvez installer Snowpark Connect for Spark en tant que paquet Python.
Créez un environnement virtuel Python.
Confirmez que votre version de Python est 3.10 ou ultérieure et antérieure à 3.13 en exécutant
python3 --version.Installez le paquet Snowpark Connect for Spark.
Ajoutez du code Python pour démarrer un serveur Snowpark Connect for Spark et créez une session Snowpark Connect for Spark.
Exécuter le code Python de votre client¶
Une fois que vous disposez d’une connexion authentifiée, vous pouvez écrire le code comme vous le feriez normalement.
Vous pouvez exécuter le code PySpark qui se connecte à Snowpark Connect for Spark en utilisant la bibliothèque client PySpark.
Exécuter du code Scala depuis votre client¶
Vous pouvez exécuter des applications Scala qui se connectent à Snowpark Connect for Spark en utilisant la bibliothèque client Spark Connect.
Ce guide vous guide à travers la configuration de Snowpark Connect et la connexion de vos applications Scala au serveur Snowpark Connect for Spark .
Étape 1 : Configurer votre environnement Snowpark Connect for Spark¶
Configurez votre environnement en utilisant les étapes décrites dans les rubriques suivantes :
Étape 2 : Créer un script de serveur Snowpark Connect for Spark et lancer le serveur¶
Créez un script Python pour lancer le serveur Snowpark Connect for Spark.
Lancez le serveur Snowpark Connect for Spark.
Étape 3 : Configurer votre application Scala¶
Ajoutez la dépendance du client Spark Connect à votre fichier build.sbt :
Exécutez du code Scala pour vous connecter au serveur Snowpark Connect for Spark.
Compilez et exécutez votre application.
Prise en charge de Scala UDF sur Snowpark Connect for Spark¶
Lorsque vous utilisez des fonctions définies par l’utilisateur ou du code personnalisé, effectuez l’une des opérations suivantes :
Activer un localisateur de classe pour surveiller et charger des fichiers de classe.
Chargez les dépendances JAR si nécessaire. Vous pouvez inclure le JAR de charge de travail lui-même si un localisateur de classe n’est pas utilisé.
Utilisez un JAR mis en zone de préparation.
Utilisation de Scala 2.13¶
Par défaut, Snowpark Connect for Spark utilise Scala 2.12. Les charges de travail créées avec Scala 2.13 doivent spécifier la version de Scala en utilisant l’option de configuration « snowpark.connect.scala.version ».
Résoudre les problèmes d’installation Snowpark Connect for Spark¶
La liste de vérifications suivante vous permettra de résoudre les problèmes d’installation et d’utilisation de Snowpark Connect for Spark.
Assurez-vous que Java et Python sont basés sur la même architecture.
Utiliser le dernier fichier de package Snowpark Connect for Spark, comme décrit dans Installer Snowpark Connect for Spark.
Confirmez que la commande Python avec le code PySpark fonctionne correctement pour l’exécution locale, c’est-à-dire sans connexion Snowflake.
Par exemple, exécutez une commande telle que la suivante :
Clients open source¶
Vous pouvez utiliser des packs clients Spark de logiciels open source (OSS) standard et prêts à l’emploi, comme les clients PySpark et Spark pour Java ou Scala—à partir de vos environnements locaux préférés, dont Jupyter Notebooks et VS Code. De cette manière, vous pouvez éviter d’installer des paquets spécifiques à Snowflake.
Cela peut s’avérer utile si vous souhaitez écrire du code Spark localement et que le code utilise les ressources de calcul Snowflake et la gouvernance d’entreprise. Dans ce scénario, vous effectuez l’authentification et l’autorisation via des jetons d’accès programmatiques (PATs).
Les sections suivantes traitent de l’installation, de la configuration et de l’authentification. Vous trouverez également un exemple PySpark simple pour valider votre connexion.
Étape 1 : Installation des paquets requis¶
Installez
pyspark. Vous n’avez pas besoin d’installer de paquet Snowflake.
Étape 2 : Configuration et authentification¶
Générez un jeton d’accès programmatique (PAT).
Pour plus d’informations, consultez les rubriques suivantes :
L’exemple suivant ajoute un PAT nommé
TEST_PATpour l’utilisateursysadminet fixe l’expiration à 30 jours.Trouvez votre URL hôte Snowflake Spark Connect.
Exécutez le SQL suivant dans Snowflake pour trouver le nom d’hôte de votre compte :
Étape 3 : Connexion au serveur Spark Connect¶
Pour vous connecter au serveur Spark Connect, utilisez un code tel que le code suivant :