Share via


Ambar olayları sistem tablosu başvurusu

Önemli

Bu özellik Genel Önizlemededir.

Bu makalede, çalışma alanlarınızdaki SQL ambarlarını izlemek ve yönetmek için ambar olayları sistem tablosunu kullanmayı öğreneceksiniz. Bu tabloda, bir ambar her başlatıldığında, durdurulduğunda, çalıştırıldığında ve ölçeği artırıldığında ve azaltıldığında için bir satır kaydedilir. Bu makaledeki örnek sorguları, ambarlarınızdaki değişikliklerden haberdar olmak için uyarılarla birlikte kullanabilirsiniz.

Ambar olayları sistem tablosu konumunda system.compute.warehouse_eventsbulunur.

Günlüğe kaydedilen ambar olay türleri

Bu sistem tablosu aşağıdaki olay türlerini günlüğe kaydeder:

  • SCALED_UP: Ambara yeni bir küme eklendi.
  • SCALED_DOWN: Bir küme ambardan kaldırıldı.
  • STOPPING: Ambar durduruluyor.
  • RUNNING: Ambar etkin bir şekilde çalışıyor.
  • STARTING: Ambar başlatılıyor.
  • STOPPED: Ambar çalışmayı tamamen durdurdu.

Ambar olayları şeması

Sistem warehouse_events tablosu aşağıdaki şemayı kullanır:

Sütun adı Veri türü Açıklama Örnek
account_id Dize Azure Databricks hesabının kimliği. 7af234db-66d7-4db3-bbf0-956098224879
workspace_id Dize Ambarın dağıtıldığı çalışma alanının kimliği. 123456789012345
warehouse_id Dize Olayın ilişkili olduğu SQL ambarının kimliği. 123456789012345
event_type Dize Ambar olayının türü. Olası değerler , , SCALED_DOWN, STOPPING, RUNNING, STARTINGve STOPPEDdeğerleridirSCALED_UP. SCALED_UP
cluster_count integer Etkin olarak çalışan küme sayısı. 2
event_time timestamp Olayın gerçekleştiği zaman damgası. 2023-07-20T19:13:09.504Z

Örnek sorgular

Aşağıdaki örnek sorgular şablonlardır. Kuruluşunuz için anlamlı olan değerleri takın. Ayrıca, ambarlarınızdaki değişiklikler hakkında bilgi sahibi olmanıza yardımcı olmak için bu sorgulara uyarılar ekleyebilirsiniz. Bkz . Uyarı oluşturma.

Ambar davranışı hakkında içgörü elde etmek için aşağıdaki örnek sorguları kullanın:

Hangi ambarlar etkin bir şekilde ve ne kadar süreyle çalışıyor?

Bu sorgu, saat cinsinden çalışma süreleriyle birlikte şu anda etkin olan ambarları tanımlar.

USE CATALOG `system`;

SELECT
we.warehouse_id,
we.event_time,
TIMESTAMPDIFF(MINUTE, we.event_time, CURRENT_TIMESTAMP()) / 60.0 AS running_hours,
we.cluster_count
FROM
compute.warehouse_events we
WHERE
we.event_type = 'RUNNING'
AND NOT EXISTS (
SELECT 1
FROM compute.warehouse_events we2
WHERE we2.warehouse_id = we.warehouse_id
AND we2.event_time > we.event_time
)

Uyarı fırsatı: Çalışma alanı yöneticisi olarak bir ambar beklenenden daha uzun çalışıyorsa uyarı almak isteyebilirsiniz. Örneğin, çalışan saatler belirli bir eşiği aştığında tetikleyen bir uyarı koşulu ayarlamak için sorgu sonuçlarını kullanabilirsiniz.

Beklenenden daha uzun ölçeklendirilen ambarları tanımlama

Bu sorgu, saat cinsinden çalışma süreleriyle birlikte şu anda etkin olan ambarları tanımlar.

use catalog `system`;

SELECT
   we.warehouse_id,
   we.event_time,
   TIMESTAMPDIFF(MINUTE, we.event_time, CURRENT_TIMESTAMP()) / 60.0 AS upscaled_hours,
   we.cluster_count
FROM
   compute.warehouse_events we
WHERE
   we.event_type = 'SCALED_UP'
   AND we.cluster_count >= 2
   AND NOT EXISTS (
       SELECT 1
       FROM compute.warehouse_events we2
       WHERE we2.warehouse_id = we.warehouse_id
       AND (
           (we2.event_type = 'SCALED_DOWN') OR
           (we2.event_type = 'SCALED_UP' AND we2.cluster_count < 2)
       )
       AND we2.event_time > we.event_time
   )

Uyarı fırsatı: Bu koşulda uyarı sağlamak, kaynakları ve maliyeti izlemenize yardımcı olabilir. Ölçeklendirilen saatler belirli bir sınırı aştığında uyarı ayarlayabilirsiniz.

İlk kez başlayan ambarlar

Bu sorgu, ilk kez başlayan yeni ambarlar hakkında sizi bilgilendirmektedir.

use catalog `system`;

SELECT
   we.warehouse_id,
   we.event_time,
   we.cluster_count
FROM
   compute.warehouse_events we
WHERE
   (we.event_type = 'STARTING' OR we.event_type = 'RUNNING')
   AND NOT EXISTS (
       SELECT 1
       FROM compute.warehouse_events we2
       WHERE we2.warehouse_id = we.warehouse_id
       AND we2.event_time < we.event_time
   )

Uyarı fırsatı: Yeni ambarlarda uyarı verilmesi, kuruluşunuzun kaynak ayırmayı izlemenize yardımcı olabilir. Örneğin, her yeni ambar başlatıldığında tetiklenen bir uyarı ayarlayabilirsiniz.

Faturalama ücretlerini araştırma

Özellikle bir ambarın faturalama ücretleri oluşturmak için ne yaptığını anlamak istiyorsanız, bu sorgu size ambarın ölçeğinin artırıldığı veya azaltıldığı veya başlatılıp durdurulduğu tarihleri ve saatleri söyleyebilir.

use catalog `system`;

SELECT
    we.warehouse_id AS warehouse_id,
    we.event_type AS event,
    we.event_time AS event_time,
    we.cluster_count AS cluster_count
FROM
    compute.warehouse_events AS we
WHERE
    we.event_type IN (
        'STARTING', 'RUNNING', 'STOPPING', 'STOPPED',
        'SCALING_UP', 'SCALED_UP', 'SCALING_DOWN', 'SCALED_DOWN'
    )
    AND MONTH(we.event_time) = 7
    AND YEAR(we.event_time) = YEAR(CURRENT_DATE())
    AND we.warehouse_id = '19c9d68652189278'
ORDER BY
    event_time DESC

Son 30 gün içinde hangi depolar kullanılmadı?

Bu sorgu kullanılmayan kaynakları belirlemenize yardımcı olur ve maliyet iyileştirme için bir fırsat sağlar.

use catalog `system`;

SELECT
    we.warehouse_id,
    we.event_time,
    we.event_type,
    we.cluster_count
FROM
    compute.warehouse_events AS we
WHERE
    we.warehouse_id IN (
        SELECT DISTINCT
            warehouse_id
        FROM
            compute.warehouse_events
        WHERE
            MONTH(event_time) = 6
            AND YEAR(event_time) = YEAR(CURRENT_DATE())
    )
    AND we.warehouse_id NOT IN (
        SELECT DISTINCT
            warehouse_id
        FROM
            compute.warehouse_events
        WHERE
            MONTH(event_time) = 7
            AND YEAR(event_time) = YEAR(CURRENT_DATE())
    )
ORDER BY
    event_time DESC

Uyarı fırsatı: Kullanılmayan kaynaklarla ilgili bir uyarı almak, kuruluşunuzun maliyetleri iyileştirmeye yardımcı olabilir. Örneğin, sorgu kullanılmayan bir ambar algıladığında tetiklenen bir uyarı ayarlayabilirsiniz.

Bir ay içinde en fazla çalışma süresine sahip ambarlar

Bu sorgu belirli bir ay içinde en çok kullanılan ambarları gösterir. Bu sorgu örnek olarak Temmuz'u kullanır.

use catalog `system`;

SELECT
   warehouse_id,
   SUM(TIMESTAMPDIFF(MINUTE, start_time, end_time)) / 60.0 AS uptime_hours
FROM (
   SELECT
      starting.warehouse_id,
      starting.event_time AS start_time,
      (
         SELECT
            MIN(stopping.event_time)
         FROM
            compute.warehouse_events AS stopping
         WHERE
            stopping.warehouse_id = starting.warehouse_id
            AND stopping.event_type = 'STOPPED'
            AND stopping.event_time > starting.event_time
      ) AS end_time
   FROM
      compute.warehouse_events AS starting
   WHERE
      starting.event_type = 'STARTING'
      AND MONTH(starting.event_time) = 7
      AND YEAR(starting.event_time) = YEAR(CURRENT_DATE())
) AS warehouse_uptime
WHERE
   end_time IS NOT NULL
GROUP BY
   warehouse_id
ORDER BY
   uptime_hours DESC

Uyarı fırsatı: Yüksek kullanımlı ambarları izlemek isteyebilirsiniz. Örneğin, bir ambar için çalışma süresi saatleri belirli bir eşiği aştığında tetiklenen bir uyarı ayarlayabilirsiniz.

Bir ay boyunca ölçeklendirilen en fazla zamanı harcayan ambarlar

Bu sorgu, bir ay boyunca ölçeği artırılmış durumda önemli zaman geçiren ambarlar hakkında sizi bilgilendirmektedir. Bu sorgu örnek olarak Temmuz'u kullanır.

use catalog `system`;

SELECT
   warehouse_id,
   SUM(TIMESTAMPDIFF(MINUTE, upscaled_time, downscaled_time)) / 60.0 AS upscaled_hours
FROM (
   SELECT
      upscaled.warehouse_id,
      upscaled.event_time AS upscaled_time,
      (
         SELECT
            MIN(downscaled.event_time)
         FROM
            compute.warehouse_events AS downscaled
         WHERE
            downscaled.warehouse_id = upscaled.warehouse_id
            AND (downscaled.event_type = 'SCALED_DOWN' OR downscaled.event_type = 'STOPPED')
            AND downscaled.event_time > upscaled.event_time
      ) AS downscaled_time
   FROM
      compute.warehouse_events AS upscaled
   WHERE
      upscaled.event_type = 'SCALED_UP'
      AND upscaled.cluster_count >= 2
      AND MONTH(upscaled.event_time) = 7
      AND YEAR(upscaled.event_time) = YEAR(CURRENT_DATE())
) AS warehouse_upscaled
WHERE
   downscaled_time IS NOT NULL
GROUP BY
   warehouse_id
ORDER BY
   upscaled_hours DESC limit 0;

Uyarı fırsatı: Yüksek kullanımlı ambarları izlemek isteyebilirsiniz. Örneğin, bir ambar için çalışma süresi saatleri belirli bir eşiği aştığında tetiklenen bir uyarı ayarlayabilirsiniz.