Aller au contenu principal

Ressources de compute des Notebooks

Vous pouvez exécuter un notebook Databricks sur une ressource de compute polyvalente, compute serverless, ou, pour les commandes SQL, un SQL warehouse, un type de compute optimisé pour l'analytique SQL. Pour plus d'informations sur les types de compute, consultez Compute.

Default Compute

Dans les Workspaces activés pour Unity Catalog, les nouveaux Notebooks utilisent par défaut le compute serverless. Si vous ne sélectionnez pas manuellement une ressource de compute et n'exécutez pas une cellule, le Notebook se connecte automatiquement au compute serverless.

Compute à attachement automatique

Dans vos paramètres de développement, vous pouvez configurer les notebooks pour qu’ils se joignent automatiquement à une ressource de compute et start une session lorsque vous interagissez avec l’éditeur :

  1. Cliquez sur votre icône d'utilisateur en haut à droite.

  2. Cliquez sur Paramètres .

  3. Cliquez sur Développeur pour accéder à vos paramètres de développeur.

  4. Activez la création automatique d'une session lors de l'interaction avec l'éditeur pour start automatiquement une session compute lors de l'interaction avec l'éditeur. Databricks utilise par default une ressource de compute en fonction de vos préférences (serverless ou SQL warehouse) et de la dernière ressource de compute utilisée.

    OU

    Désactivez ce paramètre si vous ne souhaitez pas que le notebook se connecte et start automatiquement une ressource de compute.

Les fonctionnalités d'assistance au code, y compris l'autocomplétion, le formatage du code et le débogueur, nécessitent que le notebook soit attaché à une session de compute active. Si le Notebook n'a pas start de session de compute, les fonctionnalités d'assistance au code sont inactives.

Compute serverless pour les Notebooks

Le compute serverless vous permet de connecter rapidement votre notebook à des ressources de calcul à la demande.

Pour se connecter au compute Serverless, cliquez sur le menu déroulant du compute dans le notebook et sélectionnez **Serverless**.

Consultez Serverless compute pour Notebooks pour plus d’information.

Restauration de session automatisée pour les Notebooks Serverless

La terminaison inactive du compute serverless peut vous faire perdre le travail en cours, comme les valeurs des variables Python, dans vos notebooks. Pour éviter cela, activez la **restauration de session automatisée pour les notebooks serverless**.

  1. Cliquez sur votre nom d'utilisateur en haut à droite de votre workspace, puis cliquez sur Paramètres dans la liste déroulante.
  2. Dans la barre latérale **Paramètres**, sélectionnez **Développeur**.
  3. Sous **Fonctionnalités expérimentales**, activez le paramètre **Restauration de session automatisée pour les Notebook Serverless**.

L'activation de ce paramètre permet à Databricks de créer un instantané de l'état de la mémoire du notebook serverless avant la résiliation pour inactivité. Lorsque vous revenez à un notebook après une déconnexion pour inactivité, une bannière apparaît en haut de la page. Cliquez sur Reconnecter pour restaurer votre état de fonctionnement.

Lorsque vous vous reconnectez, Databricks restaure l'intégralité de votre environnement de travail, y compris :

  • Variables, fonctions et définitions de classe Python : l'état Python est sérialisé en cours de processus à l'aide de pickle/cloudpickle et restauré dans un REPL vierge, vous n'avez donc pas besoin de réimporter ou de redéclarer.
  • Spark DataFrames, vues en cache et temporaires : les données que vous avez chargées, transformées ou mises en cache (y compris les vues temporaires) sont conservées, ce qui vous évite des rechargements ou des recalculs coûteux.
  • État de la session Spark : Les paramètres de configuration au niveau de Spark, les vues temporaires, les modifications de catalogue et les fonctions définies par l'utilisateur (UDF) sont restaurés grâce à la migration de session Spark Connect, vous n'avez donc pas besoin de les reset.

Si l'environnement a été modifié de manière à rendre la désérialisation dangereuse, par exemple, des versions de Python ou de package incompatibles, l'instantané est invalidé et le notebook revient à une nouvelle session.

Stockage de données d'instantanés

Les données de capture instantanée sont stockées dans le default storage de votre Workspace. Le notebook lui-même ne stocke que des métadonnées, y compris un pointeur avec l'ID du notebook, un timestamp et des informations de session. La charge utile des données n'est pas stockée dans le notebook. Les chemins d'accès aux objets blob sont chiffrés avant d'être stockés dans les attributs du notebook, et les chemins d'accès aux captures instantanées sont exclus de l'exportation et de l'importation de notebooks afin d'éviter de restaurer l'état dans un autre workspace.

Les instantanés suivent les valeurs par default de TTL de votre stockage cloud (environ un mois) et expirent automatiquement. La suppression d'un notebook supprime également ses instantanés. Votre compte cloud engendre des coûts de stockage dans le cadre de l'utilisation standard du stockage du workspace. La fonctionnalité utilise la sérialisation de processus Python au lieu du pointage de contrôle au niveau du conteneur, ce qui rend les instantanés plus petits et plus rapides à créer.

Sécurité et contrôle d'accès

La restauration d'instantanés respecte les autorisations de notebook. La restauration de l'état nécessite l'autorisation d'exécution sur le notebook. Les métadonnées chiffrées empêchent les visualiseurs de récupérer directement les blobs d'instantané, et les contrôles d'autorisation sont appliqués lors de la restauration.

Limitations

Cette fonctionnalité a des limitations et ne prend pas en charge la restauration des éléments suivants :

  • États Spark de plus de 4 jours
  • États Spark supérieurs à 50 Mo
  • Données relatives au Scripting SQL
  • Descripteurs de fichiers
  • Verrous et autres primitives de concurrence
  • Connexions réseau

Joindre un Notebook à une ressource de compute polyvalente

Pour attacher un Notebook à une ressource de compute polyvalente, vous avez besoin de la autorisation CAN ATTACH TO sur la ressource de compute.

important

Tant qu'un Notebook est attaché à une ressource de compute, tout utilisateur disposant de l'autorisation CAN RUN sur le Notebook dispose d'une autorisation implicite d'accéder à la ressource de compute.

Pour attacher un Notebook à une ressource de compute, cliquez sur le sélecteur de compute dans la barre d'outils du Notebook et sélectionnez la Ressource dans le menu déroulant.

Le menu affiche une sélection de compute polyvalents et de SQL warehouses que vous avez récemment utilisés ou qui sont actuellement en cours d'exécution.

Associer un Notebook

Pour choisir parmi tous les compute disponibles, cliquez sur Plus… . Choisissez parmi les compute généraux ou les SQL Warehouse disponibles.

boîte de dialogue de plus de clusters

Vous pouvez également créer une nouvelle ressource de compute polyvalente en sélectionnant Créer une nouvelle ressource… dans le menu déroulant.

important

Un Notebook joint a les variables Apache Spark suivantes définies.

Classe

Nom de la variable

SparkContext

sc

SQLContext/HiveContext

sqlContext

SparkSession (Spark 2.x)

spark

Classe

Nom de la variable

SparkContext

sc

SQLContext/HiveContext

sqlContext

SparkSession (Spark 2.x)

spark

Ne créez pas de SparkSession, de SparkContext ou de SQLContext. Cela entraîne un comportement incohérent.

Utiliser un notebook avec un SQL Warehouse.

Lorsqu'un Notebook est rattaché à un SQL Warehouse, vous pouvez exécuter des cellules SQL et Markdown. L'exécution d'une cellule dans tout autre langage (tel que Python ou R) génère une erreur. Les cellules SQL exécutées sur un SQL Warehouse apparaissent dans l'historique des requêtes du SQL Warehouse. L'utilisateur qui a exécuté une query peut afficher le profil de la query à partir du Notebook en cliquant sur le temps écoulé en bas de la sortie.

Les Notebooks attachés aux SQL warehouses prennent en charge les sessions SQL warehouse, où vous pouvez définir des variables, créer des vues temporaires et conserver l'état sur plusieurs exécutions de requêtes. Vous pouvez élaborer une logique SQL de manière itérative sans avoir besoin d'exécuter toutes les instructions en même temps. Consultez Que sont les sessions de SQL Warehouse ?.

L'exécution d'un notebook nécessite un SQL Warehouse pro ou Serverless. Vous devez avoir accès au workspace et au SQL Warehouse.

Pour attacher un Notebook à un SQL Warehouse, procédez comme suit :

  1. Cliquez sur le sélecteur de compute dans la barre d'outils du Notebook. Le menu déroulant affiche les ressources de compute en cours d'exécution ou que vous avez utilisées récemment. Les SQL Warehouse sont marqués par Étiquette de SQL Warehouse.

  2. Dans le menu, sélectionnez un SQL Warehouse.

    Pour voir tous les SQL Warehouse disponibles, sélectionnez Plus… dans le menu déroulant. Une boîte de dialogue s'affiche, affichant les ressources de compute disponibles pour le Notebook. Sélectionnez SQL Warehouse , sélectionnez le warehouse que vous souhaitez utiliser et cliquez sur Attacher .

    boîte de dialogue de clusters plus détaillée avec SQL Warehouse sélectionné

Vous pouvez également sélectionner un SQL Warehouse comme ressource de compute pour un Notebook SQL lorsque vous créez un workflow ou un Job planifié.

Limitations des SQL Warehouse

Consultez les limites connues des Notebooks Databricks pour plus d'informations.