Überwachung der Notizbuch-Nutzung und der Kosten¶
Ein Notizbuch verbraucht Computeressourcen über seine konfigurierten Warehouses oder Computepools. Um die Kosten im Blick zu behalten und effiziente Abläufe sicherzustellen, ist es wichtig, die Nutzung über einzelne Notizbücher, Benutzer und die zugrunde liegende Compute-Infrastruktur hinweg zu überwachen. Diese Transparenz trägt dazu bei, effiziente Abläufe sicherzustellen und die Kostenkontrolle in Ihrer gesamten Umgebung zu unterstützen.
Snowflake bietet Zugriff auf detaillierte Nutzungsdaten über ACCOUNT_USAGE-Ansichten und Systemtabellen. Diese Daten können helfen, Fragen wie die folgenden zu beantworten:
Wie hoch ist der stündliche Credit-Verbrauch pro Notizbuch?
Wie häufig wurden die Notizbücher in der letzten Woche ausgeführt?
Welche Benutzer haben im letzten Monat Notizbücher ausgeführt?
Welche Computepools oder Warehouses haben die Notizbücher in der letzten Woche genutzt?
Wie hoch sind die gesamten Credit-Kosten für Notizbücher, die eine bestimmte Computeressource verwenden?
Einen umfassenden Überblick über das Computing-bezogene Kostenmanagement finden Sie unter Untersuchen der Computekosten.
Beispielabfrage¶
Sie können die Ansichten von Snowflake ACCOUNT_USAGE abfragen, um einen Einblick in den Credit-Verbrauch eines Notebooks zu erhalten. Diese Ansichten schlüsseln die Kosten der Ebene Notebook, Benutzer oder Computepool auf täglicher oder stündlicher Basis auf.
Verwendung¶
Im folgenden Beispiel steht jede Zeile für eine einzelne Notizbuch-Ausführung und enthält Details wie den Zeitstempel der Ausführung, den Benutzer, der das Notizbuch ausgeführt hat, und die Laufzeitumgebung (Warehouse oder Container Runtime).
-- Warehouse Runtime
SELECT query_text, t1.user_name, credits_attributed_compute as total_warehouse_credits
FROM snowflake.account_usage.query_history t1
INNER JOIN snowflake.account_usage.query_attribution_history t2
ON t1.query_id = t2.query_id
-- Add your notebook name
AND t1.query_text ILIKE 'execute notebook% <example_nb_name>'
;
-- Container Runtime
SELECT
start_time, notebook_name, user_name, SUM(credits) AS total_container_runtime_credits
FROM snowflake.account_usage.notebooks_container_runtime_history
WHERE notebook_name = '<example_nb_name>'
GROUP BY ALL;
Kostenüberwachung für Container Runtime¶
Die folgenden Abfragen helfen Ihnen, den Credit-Verbrauch der Notizbücher in Ihrem Konto zu überwachen. Nutzen Sie diese Abfragen, um die Nutzungsmuster von Notizbüchern zu analysieren, die Kosten zu schätzen und zu verstehen, wie einzelne Notizbücher zu den Kosten für den Computepool beitragen.
- Abfrage: Stündlicher Credit-Verbrauch nach Notizbuch
Diese Abfrage ruft den Laufzeitverlauf für ein bestimmtes Notizbuch ab, einschließlich Credit-Nutzung und Ausführungszeitstempel. Verwenden Sie diese Daten, um zu verstehen, wie oft und wie lange ein Notizbuch ausgeführt wird, und um Muster oder Spitzen im Credit-Verbrauch pro Stunde zu erkennen.
SELECT * FROM snowflake.account_usage.notebooks_container_runtime_history WHERE notebook_name = '<example_nb_name>';
- Abfrage: Kosten für die Ausführung eines bestimmten Notizbuches
Diese Abfrage zeigt die Gesamtzahl der von einem bestimmten Notizbuch verbrauchten Credits an. Verwenden Sie dies, um die Kosten eines Notizbuchs zu schätzen und kostenintensive Notizbücher zu identifizieren.
SELECT notebook_name, SUM(credits) AS total_credits FROM snowflake.account_usage.notebooks_container_runtime_history WHERE notebook_name = '<example_nb_name>' GROUP BY notebook_name;
- Abfrage: Gesamtkosten für den Computepool pro Notizbuch
Diese Abfrage zeigt die Gesamtzahl der Credits an, die von jedem Notizbuch verbraucht werden, das in einem bestimmten Computepool läuft. Verwenden Sie diese, um die Computenutzung nach Notizbüchern aufzuschlüsseln und so herauszufinden, welche Notizbücher am meisten zu den Gesamtkosten des Computepools beitragen.
SELECT notebook_name, SUM(credits) AS total_credits FROM snowflake.account_usage.notebooks_container_runtime_history WHERE compute_pool_name = '<example_cp_name>' GROUP BY notebook_name;
- Abfrage: Identifizieren von Benutzern, die ein bestimmtes Notizbuch ausgeführt haben
Diese Abfrage gibt eine Liste von Benutzern zurück, die ein bestimmtes Notizbuch ausgeführt haben. Verwenden Sie diese, um Nutzungsmuster zu verstehen oder Teilnehmer und Verbraucher von freigegebenen Notizbüchern zu identifizieren.
SELECT DISTINCT user_name FROM snowflake.account_usage.notebooks_container_runtime_history WHERE notebook_name = '<example_nb_name>';
Zusätzliche Anmerkungen¶
Die Kosten für das Abfragen sind mit dem zugrunde liegenden Warehouse verbunden. Weitere Informationen zur Funktionsweise von Warehouses finden Sie unter Credit-Nutzung für virtuelle Warehouses.