Share via


İşlem sistemi tabloları başvurusu

Önemli

Bu özellik Genel Önizlemededir.

Bu makalede, şemalar ve örnek sorgular dahil olmak üzere işlem sistemi tablolarına genel bir bakış sağlanır. Şu anda kullanılabilir iki küme sistemi tablosu vardır: clusters ve node_types.

Küme tablosu şeması

Küme tablosu, tüm amaçlı ve iş kümeleri için zaman içindeki küme yapılandırmalarının tam geçmişini içeren yavaş değişen bir boyut tablosudur.

Kümeler sistem tablosu konumundadır system.compute.clusters ve aşağıdaki şemaya sahiptir:

Sütun adı Veri türü Açıklama Örnek
account_id Dize Bu kümenin oluşturulduğu hesabın kimliği. 23e22ba4-87b9-4cc2-9770-d10b894b7118
workspace_id Dize Bu kümenin oluşturulduğu çalışma alanının kimliği. 1234567890123456
cluster_id Dize Bu kaydın ilişkilendirildiği kümenin kimliği. 0000-123456-xxxxxxxx
cluster_name Dize Küme için kullanıcı tanımlı ad. My cluster
owned_by Dize Küme sahibinin kullanıcı adı. Varsayılan olarak küme oluşturucusu kullanılır, ancak Kümeler API'sini kullanarak değiştirilebilir. sample_user@email.com
create_time timestamp Bu işlem tanımında yapılan değişikliğin zaman damgası. 2023-01-09 11:00:00.000
delete_time timestamp Kümenin silindiği zaman damgası. Değer, null küme silinmezse olur. 2023-01-09 11:00:00.000
driver_node_type Dize Sürücü düğümü türü adı. Bu, bulut sağlayıcısındaki örnek türü adıyla eşleşir. Standard_D16s_v3
worker_node_type Dize Çalışan düğümü türü adı. Bu, bulut sağlayıcısındaki örnek türü adıyla eşleşir. Standard_D16s_v3
worker_count bigint çalışan sayısı. Yalnızca sabit boyutlu kümeler için tanımlanır. 4
min_autoscale_workers bigint Ayarlanan en az çalışan sayısı. Bu alan yalnızca otomatik ölçeklendirme kümeleri için geçerlidir. 1
max_autoscale_workers bigint Ayarlanan en fazla çalışan sayısı. Bu alan yalnızca otomatik ölçeklendirme kümeleri için geçerlidir. 1
auto_termination_minutes bigint Yapılandırılan otomatik belirleme süresi. 120
enable_elastic_disk boolean Otomatik ölçeklendirme diski etkinleştirme durumu. true
tags map Küme için kullanıcı tanımlı etiketler (varsayılan etiketleri içermez). {"ResourceClass":"SingleNode"}
cluster_source Dize Kümenin oluşturucusunu gösterir: UI, API, DLT, JOB, vb. UI
init_scripts dizi başlatma betikleri için yol kümesi. "/Users/example@email.com/files/scripts/install-python-pacakges.sh"
aws_attributes struct AWS'ye özgü ayarlar. null
azure_attributes struct Azure'a özgü ayarlar. {
"first_on_demand": "0",
"availability": "ON_DEMAND_AZURE",
"spot_bid_max_price": "—1"
}
gcp_attributes struct GCP'ye özgü ayarlar. Bu alan boş olacaktır. null
driver_instance_pool_id Dize Sürücü bir örnek havuzunun üzerinde yapılandırılmışsa örnek havuzu kimliği. 1107-555555-crhod16-pool-DIdnjazB
worker_instance_pool_id Dize Çalışan bir örnek havuzunun üzerinde yapılandırılmışsa Örnek Havuzu Kimliği. 1107-555555-crhod16-pool-DIdnjazB
dbr_version Dize Kümenin Databricks Çalışma Zamanı. 14.x-snapshot-scala2.12
change_time timestamp İşlem tanımında yapılan değişikliğin zaman damgası. 2023-01-09 11:00:00.000
change_date tarih Tarihi değiştirin. Saklama için kullanılır. 2023-01-09

Düğüm türleri tablo şeması

Düğüm türü tablosu, şu anda kullanılabilir olan düğüm türlerini temel donanım bilgileriyle yakalar. Düğüm türü sistem tablosu konumundadır system.compute.node_types ve aşağıdaki şemaya sahiptir:

Sütun adı Veri türü Açıklama Örnek
account_id Dize Bu kümenin oluşturulduğu hesabın kimliği. 23e22ba4-87b9-4cc2-9770-d10b894b7118
node_type_name Dize Düğüm türü için benzersiz tanımlayıcı. Standard_D16s_v3
core_count çift Örnek için vCPU sayısı. 48.0
memory_mb uzun Örnek için toplam bellek. 393216
gpu_count uzun Örnek için GPU sayısı. 0

Bilinen sınırlamalar

  • 23 Ekim 2023'e kadar silinmiş olarak işaretlenen kümeler kümeler tablosunda görünmez. Bu, tablodan system.billing.usage birleşimlerin kümeler tablosundaki küme kayıtlarıyla eşleşmemesiyle sonuçlanabilir. Tüm etkin kümeler yedeklendi.
  • Kümeler tablosu yalnızca tüm amaçlı ve iş kümeleri için kayıtları içerir. Delta Live Tables kümeleri veya SQL ambarları içermez.

Örnek sorgular

Kümelerle ilgili sık sorulan soruları yanıtlamak için aşağıdaki örnek sorguları kullanabilirsiniz:

Not

Bu örnekler küme tablosunu tabloyla birleştirir system.billing.usage . Faturalama kayıtları bölgeler arası ve küme kayıtları bölge-sepcific olduğundan, faturalama kayıtları yalnızca sorguladığınız bölge için küme kayıtlarıyla eşleşilir. Başka bir bölgedeki kayıtları görmek için lütfen sorguyu bu bölgede yürütür.

En son faturalama kayıtlarıyla küme kayıtlarını birleştirme

Bu sorgu, zaman içindeki harcamaları anlamanıza yardımcı olabilir. öğesini usage_start_time en güncel faturalama dönemine güncelleştirdikten sonra, küme verilerine katılmak için faturalama kayıtlarında yapılan en son güncelleştirmeleri alır.

Her kayıt, söz konusu çalıştırma sırasında küme sahibiyle ilişkilendirilir. Bu nedenle, küme sahibi değişirse maliyetler, kümenin ne zaman kullanıldığına bağlı olarak doğru sahipe yuvarlanır.

SELECT
  u.record_id,
  c.cluster_id,
  c.owned_by,
  c.change_time,
  u.usage_start_time,
  u.usage_quantity
FROM
  system.billing.usage u
  JOIN system.compute.clusters c
  JOIN (SELECT u.record_id, c.cluster_id, max(c.change_time) change_time
    FROM system.billing.usage u
    JOIN system.compute.clusters c
    WHERE
      u.usage_metadata.cluster_id is not null
      and u.usage_start_time >= '2023-01-01'
      and u.usage_metadata.cluster_id = c.cluster_id
      and date_trunc('HOUR', c.change_time) <= date_trunc('HOUR', u.usage_start_time)
    GROUP BY all) config
WHERE
  u.usage_metadata.cluster_id is not null
  and u.usage_start_time >= '2023-01-01'
  and u.usage_metadata.cluster_id = c.cluster_id
  and u.record_id = config.record_id
  and c.cluster_id = config.cluster_id
  and c.change_time = config.change_time
ORDER BY cluster_id, usage_start_time desc;

Kümenin maliyetlerini küme sahibine öznitelik

İşlem maliyetlerini azaltmak istiyorsanız, hesabınızdaki hangi küme sahiplerinin en çok DBU kullandığını öğrenmek için bu sorguyu kullanabilirsiniz.

SELECT
  u.record_id record_id,
  c.cluster_id cluster_id,
  max_by(c.owned_by, c.change_time) owned_by,
  max(c.change_time) change_time,
  any_value(u.usage_start_time) usage_start_time,
  any_value(u.usage_quantity) usage_quantity
FROM
  system.billing.usage u
  JOIN system.compute.clusters c
WHERE
  u.usage_metadata.cluster_id is not null
  and u.usage_start_time >= '2023-01-01'
  and u.usage_metadata.cluster_id = c.cluster_id
  and c.change_time <= u.usage_start_time
GROUP BY 1, 2
ORDER BY cluster_id, usage_start_time desc;