Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article explique comment utiliser le tableau d'utilisation facturable pour suivre le coût de l'utilisation de calcul sans serveur.
Vous pouvez monitorer l’utilisation du calcul serverless pour les notebooks et les travaux en interrogeant la table système de l’utilisation facturable (system.billing.usage
), qui inclut les attributs des utilisateurs et des charges de travail liés aux coûts du calcul serverless. Les champs applicables sont les suivants :
- La colonne
identity_metadata
inclut le champrun_as
, qui indique l’utilisateur ou le principal de service dont les informations d’identification ont été utilisées pour exécuter la charge de travail. - La colonne
usage_metadata
comporte des champs qui décrivent la charge de travail :job_run_id
,job_name
,notebook_id
etnotebook_path
.
- Colonne
custom_tags
, qui inclut toutes les balises héritées des stratégies de budget serverless. Voyez l'utilisation des attributs avec les politiques budgétaires sans serveur.
Fonctionnalités supplémentaires facturées comme étant sans serveur
Il existe plusieurs fonctionnalités Azure Databricks qui exploitent le calcul sans serveur en arrière-plan, mais qui ne nécessitent pas que votre compte soit activé pour le calcul sans serveur pour les carnets, les flux de travail et les pipelines déclaratifs Lakeflow.
Les fonctionnalités suivantes sont facturées sous la référence SKU des travaux serverless :
-
Monitoring de lakehouse : journalisé dans la table de facturation avec une valeur
billing_origin_product
deLAKEHOUSE_MONITORING
. -
Optimisation prédictive : journalisé dans la table de facturation avec une valeur
billing_origin_product
dePREDICTIVE_OPTIMIZATION
. -
Vues matérialisées dans Databricks SQL : lorsque vous créez une vue matérialisée dans un entrepôt SQL, un pipeline serverless est créé pour traiter les actualisations. Vous pouvez afficher les enregistrements de facturation pour la vue matérialisée en interrogeant les enregistrements correspondant à
billing_origin_product = 'SQL'
etusage_metadata.dlt_pipeline_id IS NOT NULL
. -
Contrôle d’accès affiné sur le calcul dédié : identifiable par la valeur de
billing_origin_product
FINE_GRAINED_ACCESS_CONTROL
.
-
Salles propres : la salle propre spécifique liée à l’utilisation est enregistrée sous
usage_metadata.central_clean_room_id
.
Considérations relatives aux enregistrements d’utilisation sans serveur
Lorsque vous analysez votre utilisation serverless, tenez compte des points suivants :
- Vous pouvez voir plusieurs enregistrements associés à une charge de travail de calcul serverless donnée dans une heure donnée. Par exemple, vous pouvez voir plusieurs enregistrements avec le même
job_id
,job_run_id
oujob_name
, mais avec des valeurs de consommation DBU différentes pour chacune d’elles. La somme de ces DBU représente collectivement la consommation horaire de DBU pour une exécution de travail donnée.
Utilisez des budgets pour surveiller les dépenses
Les administrateurs de compte peuvent configurer des budgets pour regrouper les coûts et configurer des alertes. Voir Créer et surveiller les budgets.
Importer un tableau de bord de l’utilisation
Les administrateurs de compte peuvent importer des tableaux de bord de gestion des coûts vers n’importe quel espace de travail Unity Catalog de leur compte. Consultez la section Importer un tableau de bord de l’utilisation.
Rechercher un travail ou un notebook dans l’interface utilisateur
Pour rechercher un travail ou un notebook dans l’interface utilisateur en fonction d’un enregistrement de facturation, copiez la valeur usage_metadata.job_id
ou usage_metadata.notebook_id
de l’enregistrement d’utilisation. Ces ID sont immuables et peuvent être utilisés même si le nom de la tâche ou le chemin d’accès du notebook change.
Pour trouver un travail dans l’interface utilisateur en fonction de son job_id
:
- Copiez le
job_id
à partir de l’enregistrement d’utilisation. Pour cet exemple, supposons que l’ID est700809544510906
. - Accédez à l’interface utilisateur Travaux &Pipelines dans le même espace de travail Azure Databricks que le travail.
- Sélectionnez le filtre Accessible par moi .
- Collez l’ID (700809544510906) dans la barre de recherche Filtrer les travaux.
Pour rechercher un bloc-notes dans l’interface utilisateur à partir de son notebook_id
, suivez les directives ci-dessous :
- Copiez le
notebook_id
à partir de l’enregistrement d’utilisation. Pour cet exemple, supposons que l’ID est700809544510906
. - Accédez à l’interface utilisateur de Espace de travail dans le même espace de travail Azure Databricks que le notebook.
- Cliquez sur n’importe quel notebook dans la liste.
- Une fois que vous avez ouvert le bloc-notes, examinez l’URL dans la barre d’adresses du navigateur. Il doit ressembler à
https://<account-console-url>/?o=<workspace ID>#notebook/<notebook ID>/command/<command ID>
. - Dans la barre d’adresses du navigateur, remplacez l’ID de notebook par l’ID que vous avez copié à la première étape, puis supprimez tout ce qui suit l’ID du notebook. Il doit ressembler à
https://<account-console-url>/?o=<workspace ID>#notebook/700809544510906
. - Après avoir ouvert le notebook, vous pouvez cliquer sur le bouton Partager pour afficher le propriétaire du notebook.
Utiliser des alertes pour suivre les dépenses relatives au serverless
Les alertes constituent une méthode puissante pour rester informé sur les dépenses de serverless. Grâce aux alertes, vous pouvez recevoir des notifications quand certaines conditions sont remplies dans vos résultats de requêtes. Pour découvrir comment créer des alertes, consultez Créer une alerte.
Vous pouvez ajouter des alertes aux requêtes suivantes pour surveiller vos budgets. Dans chaque requête, remplacez {budget}
par le budget choisi.
Recevoir une alerte lorsque les dépenses d’un espace de travail dépassent un seuil au cours des 30 derniers jours
Vous pouvez définir une alerte à déclencher quand cette requête renvoie une ligne. Remplacez {budget}
par le budget choisi.
SELECT
t1.workspace_id,
SUM(t1.usage_quantity * list_prices.pricing.default) as list_cost
FROM system.billing.usage t1
INNER JOIN system.billing.list_prices on
t1.cloud = list_prices.cloud and
t1.sku_name = list_prices.sku_name and
t1.usage_start_time >= list_prices.price_start_time and
(t1.usage_end_time <= list_prices.price_end_time or list_prices.price_end_time is null)
WHERE
t1.sku_name LIKE '%SERVERLESS%'
AND billing_origin_product IN ("JOBS", "INTERACTIVE")
AND t1.usage_date >= CURRENT_DATE() - INTERVAL 30 DAYS
GROUP BY
t1.workspace_id
HAVING
list_cost > {budget}
Recevoir une alerte lorsqu’un utilisateur dépasse le seuil au cours des 30 derniers jours
Vous pouvez définir une alerte à déclencher quand cette requête renvoie une ligne. Remplacez {budget}
par le budget choisi.
SELECT
t1.identity_metadata.run_as,
SUM(t1.usage_quantity * list_prices.pricing.default) as list_cost
FROM system.billing.usage t1
INNER JOIN system.billing.list_prices on
t1.cloud = list_prices.cloud and
t1.sku_name = list_prices.sku_name and
t1.usage_start_time >= list_prices.price_start_time and
(t1.usage_end_time <= list_prices.price_end_time or list_prices.price_end_time is null)
WHERE
t1.sku_name LIKE '%SERVERLESS%'
AND billing_origin_product IN ("JOBS", "INTERACTIVE")
AND t1.usage_date >= CURRENT_DATE() - INTERVAL 30 DAYS
GROUP BY
t1.identity_metadata.run_as
HAVING
list_cost > {budget}
Recevoir une alerte lorsqu’un travail dépasse le seuil au cours des 30 derniers jours
Vous pouvez définir une alerte à déclencher quand cette requête renvoie une ligne. Remplacez {budget}
par le budget choisi.
SELECT
t1.workspace_id,
t1.usage_metadata.job_id,
SUM(t1.usage_quantity * list_prices.pricing.default) as list_cost
FROM system.billing.usage t1
INNER JOIN system.billing.list_prices on
t1.cloud = list_prices.cloud and
t1.sku_name = list_prices.sku_name and
t1.usage_start_time >= list_prices.price_start_time and
(t1.usage_end_time <= list_prices.price_end_time or list_prices.price_end_time is null)
WHERE
t1.sku_name LIKE '%SERVERLESS%'
AND billing_origin_product IN ("JOBS")
AND t1.usage_date >= CURRENT_DATE() - INTERVAL 30 DAYS
GROUP BY
t1.workspace_id, t1.usage_metadata.job_id
HAVING
list_cost > {budget}
Exemples de requêtes
Utilisez les requêtes suivantes pour obtenir des insights sur l’utilisation du serverless dans votre compte :
- Trier les notebooks serverless en fonction du montant total des dépenses
- Trier les travaux serverless en fonction du montant total des dépenses
- Rapport sur les DBU consommées par un utilisateur particulier
- Rapport sur les Unités Databricks de calcul serverless consommées par les charges de travail qui partagent une balise personnalisée
Trier les notebooks serverless en fonction du total des dépenses
Cette requête retourne une liste de notebooks et le nombre de DBU consommées par chaque notebook, par ordre décroissant de consommation de DBU :
SELECT
usage_metadata.notebook_id,
usage_metadata. notebook_path,
SUM(usage_quantity) as total_dbu
FROM
system.billing.usage
WHERE
usage_metadata.notebook_id is not null
and billing_origin_product = 'INTERACTIVE'
and product_features.is_serverless
and usage_unit = 'DBU'
and usage_date >= DATEADD(day, -30, current_date)
GROUP BY
1,2
ORDER BY
total_dbu DESC
Trier les travaux serverless en fonction du montant total des dépenses
Cette requête retourne une liste de travaux et le nombre de DBU consommées par chaque travail, par ordre décroissant de consommation de DBU :
SELECT
usage_metadata.job_id,
usage_metadata.job_name,
SUM(usage_quantity) as total_dbu
FROM
system.billing.usage
WHERE
usage_metadata.job_id is not null
and usage_unit = 'DBU'
and usage_date >= DATEADD(day, -30, current_date)
and sku_name like '%JOBS_SERVERLESS_COMPUTE%'
GROUP BY
1,2
ORDER BY
total_dbu DESC
Rapport sur les DBU consommées par un utilisateur particulier
Cette requête retourne une liste de notebooks et de travaux qui utilisent le calcul serverless exécuté par un utilisateur ou un principal de service particulier, ainsi que le nombre de DBU consommées par chaque charge de travail :
SELECT
usage_metadata.job_id,
usage_metadata.job_name,
usage_metadata.notebook_id,
usage_metadata. notebook_path,
SUM(usage_quantity) as total_dbu
FROM
system.billing.usage
WHERE
identity_metadata.run_as = '<emailaddress@domain.com>'
and billing_origin_product in ('JOBS','INTERACTIVE')
and product_features.is_serverless
and usage_unit = 'DBU'
and usage_date >= DATEADD(day, -30, current_date)
GROUP BY
1,2,3,4
ORDER BY
total_dbu DESC
Rapport sur les DBU de calcul serverless consommées par les charges de travail qui partagent une étiquette personnalisée
Cette requête retourne une liste de travaux qui utilisent le calcul serverless et qui partagent la même étiquette personnalisée, ainsi que le nombre de DBU consommées par chaque charge de travail :
SELECT
usage_metadata.job_id,
usage_metadata.job_name,
usage_metadata.notebook_id,
usage_metadata. notebook_path,
SUM(usage_quantity) as total_dbu
FROM
system.billing.usage
WHERE
custom_tags.<key> = '<value>'
and billing_origin_product in ('JOBS','INTERACTIVE')
and product_features.is_serverless
and usage_unit = 'DBU'
and usage_date >= DATEADD(day, -30, current_date)
GROUP BY
1,2,3,4
ORDER BY
total_dbu DESC