Dépannage d’UDFs Python¶
Cette rubrique fournit des informations de dépannage sur les UDFs Python (fonctions définies par l’utilisateur).
Dans ce chapitre :
-
Problème : une bibliothèque Python requise n’est pas disponible via Anaconda.
Problème : une UDF échoue avec l’erreur « Function available memory exhausted »
Problème : je veux extraire un ZIP ou d’autres archives à l’intérieur d’une UDF
Problème : le rôle ORGADMIN n’est pas activé et les paquets Anaconda ne peuvent pas être utilisés.
Dépannage¶
Problème : une bibliothèque Python requise n’est pas disponible via Anaconda.¶
Les bibliothèques Python tierces, qui ne possèdent pas d’extensions C/C++, peuvent être importées par des UDFs directement via des zones de préparation Snowflake. Pour plus d’informations, voir Création d’une UDF Python avec du code téléchargé à partir d’une zone de préparation.
Pour savoir comment soumettre une demande de prise en charge de paquets Anaconda supplémentaires, voir Utilisation de paquets tiers.
Problème : une UDF échoue avec l’erreur « Function available memory exhausted »¶
Réduisez la quantité de mémoire utilisée par l’UDF.
Vérifiez que le code de l’UDF ne contient pas de bogues ou de fuites de mémoire.
Pour plus d’informations, voir Mémoire.
Problème : je veux extraire un ZIP ou d’autres archives à l’intérieur d’une UDF¶
Pour voir un exemple de la façon de charger un fichier ZIP vers une zone de préparation Snowflake, puis de le décompresser dans le répertoire /tmp
à l’intérieur de l’UDF, voir Décompression d’un fichier en zone de préparation.
Problème : les performances des UDF sont lentes¶
Pour savoir comment améliorer les performances des UDFs, voir Optimisation de l’échelle et des performances.
Problème : le rôle ORGADMIN n’est pas activé et les paquets Anaconda ne peuvent pas être utilisés.¶
Lorsque vous suivez les étapes pour commencer à utiliser les paquets tiers d’Anaconda, le rôle d’administrateur de l’organisation (ORGADMIN) est requis.
Pour résoudre ce problème, suivez les instructions de Activation du rôle ORGADMIN pour un compte.
Conseils¶
La formation de modèles de machine learning (ML) peut parfois être très exigeante en ressources. Les entrepôts optimisés pour Snowpark sont un type d’entrepôt virtuel Snowflake qui peut être utilisé pour les charges de travail qui nécessitent une grande quantité de mémoire et de ressources de calcul. Pour des informations sur les modèles de machine learning et sur Snowpark Python, voir Formation de modèles de machine learning avec Snowpark Python.
Si vous utilisez une UDF Python dans une politique de masquage, assurez-vous que le type de données de la colonne, l’UDF et la politique de masquage correspondent.
Pour des informations de dépannage sur les paquets tiers, voir Problèmes connus avec les paquets tiers.