Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, işlem sistemi tabloları için bir başvuru kılavuzu sağlanır. Bu tabloları, hesabınızdaki klasik çok amaçlı işlem, iş işlemleri ve Lakeflow işlem hatları işleminin etkinliğini ve ölçümlerini izlemek için kullanabilirsiniz. Bu klasik işlem tabloları şunlardır:
-
clusters: Hesabınızdaki işlem yapılandırmalarını kaydeder. -
node_types: Donanım bilgileri de dahil olmak üzere şu anda kullanılabilir olan düğüm türlerinin her biri için tek bir kayıt içerir. -
node_timeline: İşleminizin kullanım ölçümlerinin dakika dakika kayıtlarını içerir. -
instance_events: Klasik işlem örneklerinin durum geçişlerini yakalar. -
instance_pools: Hesabınızdaki örnek havuzu yapılandırmalarını kaydeder.
Küme tablosu şeması
Küme tablosu, çok amaçlı işlem, işler işlem, Lakeflow işlem hatları işlemi ve işlem hattı bakım işlemi için zaman içindeki işlem yapılandırmalarının tam geçmişini içeren yavaş değişen bir boyut tablosudur.
Tablo yolu: Bu sistem tablosu system.compute.clusters'de yer almaktadır.
| 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-crmpt124 |
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 |
Tarih damgası | Bu işlem tanımında yapılan değişikliğin zaman damgası. | 2023-01-09 11:00:00.000 |
delete_time |
Tarih damgası | Silinmiş kümenin zaman damgası. Küme silinmezse değer null 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 tipi 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 sonlandırma süresi. | 120 |
enable_elastic_disk |
Boolean | Disk otomatik ölçeklendirme etkinleştirme durumu. | true |
tags |
harita | Küme için kullanıcı tanımlı etiketler (varsayılan etiketleri içermez). | {"ResourceClass":"SingleNode"} |
cluster_source |
Dize | Kümenin kaynağı.
UI veya API değerleri yalnızca tüm amaçlı işlemler için geçerlidir. Tüm iş hesabı JOB olarak günlüğe kaydedilir. İşlem hatları PIPELINE veya PIPELINE_MAINTENANCE. |
UI |
init_scripts |
dizi | Başlatma komut dosyaları için init yolları kümesi. | "/Users/example@email.com/files/scripts/install-python-pacakges.sh" |
aws_attributes |
yapı | AWS'ye özgü ayarlar. | null |
azure_attributes |
yapı | Azure'a özgü ayarlar. | {"first_on_demand": "0","availability": "ON_DEMAND_AZURE","spot_bid_max_price": "—1"} |
gcp_attributes |
yapı | 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 | Eğer ç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 Süresi. | 14.x-snapshot-scala2.12 |
change_time |
Tarih damgası | İş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 |
data_security_mode |
Dize | İşlem kaynağının erişim modu. Bkz. Erişim modu referansı. | USER_ISOLATION |
policy_id |
Dize | Varsa, kümenin işlem ilkesinin kimliği. | 1234F35636110A5B |
Erişim modu referansı
Aşağıdaki tablo, sütunda data_security_mode yer alan olası değerleri çevirir. Sütun, belirli işlem hatları ve sistem tarafından oluşturulan kümeler için de olabilir null .
| Değer | Erişim modu |
|---|---|
USER_ISOLATION |
Standart |
SINGLE_USER |
Adanmış |
Eski erişim modları aşağıdaki değerlerle kaydedilir:
| Değer | Erişim modu |
|---|---|
LEGACY_PASSTHROUGH |
Kimlik bilgisi geçişi (paylaşılan) |
LEGACY_SINGLE_USER |
Kimlik bilgisi geçişi (tek kullanıcı) |
LEGACY_TABLE_ACL |
Özelleştirilmiş |
NONE |
Paylaşılan yalıtım yok |
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.
Tablo yolu: Bu sistem tablosu system.compute.node_typeskonumunda bulunur.
| 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 |
Dize | Düğüm türünün benzersiz tanımlayıcısı. | Standard_D16s_v3 |
core_count |
iki katı | Ö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 |
Düğüm zaman çizelgesi tablosu şeması
Düğüm zaman çizelgesi tablosu, düğüm düzeyinde kaynak kullanım verilerini dakika ayrıntı düzeyinde yakalar. Her kayıt, örnek başına belirli bir dakika boyunca veri içerir. Bu tablo, hesabınızdaki tüm amaçlı işlem, iş işlemleri, Lakeflow işlem hatları işlem ve işlem hattı bakım işlem kaynakları için düğüm zaman çizelgelerini yakalar.
Tablo yolu: Bu sistem tablosu system.compute.node_timelinekonumunda bulunur.
| Sütun adı | Veri türü | Açıklama | Örnek |
|---|---|---|---|
account_id |
Dize | Bu işlem kaynağının çalıştığı hesabın kimliği. | 23e22ba4-87b9-4cc2-9770-d10b894b7118 |
workspace_id |
Dize | Bu işlem kaynağının çalıştığı çalışma alanının kimliği. | 1234567890123456 |
cluster_id |
Dize | İşlem kaynağının kimliği. | 0000-123456-crmpt124 |
instance_id |
Dize | Belirli bir örneğin tanımlayıcısı. | i-1234a6c12a2681234 |
start_time |
Tarih damgası | Kayıt için başlangıç saati UTC'ye göre. | 2024-07-16T12:00:00Z |
end_time |
Tarih damgası | Utc'de kaydın bitiş saati. | 2024-07-16T13:00:00Z |
driver |
Boolean | İster örnek bir sürücü düğümü ister işçi düğümü olsun. | true |
cpu_user_percent |
iki katı | CPU'nun userland'da harcadığı sürenin yüzdesi. | 34.76163817234407 |
cpu_system_percent |
iki katı | CPU'nun çekirdekte harcadığı sürenin yüzdesi. | 1.0895310279488264 |
cpu_wait_percent |
iki katı | CPU'nun G/Ç beklerken harcadığı sürenin yüzdesi. | 0.03445157400629276 |
mem_used_percent |
iki katı | İşlemde çalışan arka plan işlemleri tarafından kullanılan bellek de dahil olmak üzere, zaman aralığında kullanılan işlem belleğinin yüzdesi. | 45.34858216779041 |
mem_swap_percent |
iki katı | Bellek değiştirme ile ilişkilendirilen bellek kullanımı yüzdesi. | 0.014648443087939 |
network_sent_bytes |
bigint | Ağ trafiğinde gönderilen bayt sayısı. | 517376 |
network_received_bytes |
bigint | Ağ trafiğinden alınan bayt sayısı. | 179234 |
disk_free_bytes_per_mount_point |
harita | Bağlama noktasına göre gruplandırılmış disk kullanımı. Bu, yalnızca işlem çalışırken sağlanan kısa süreli depolamadır. | {"/var/lib/lxc":123455551234,"/":123456789123,"/local_disk0":123412341234} |
node_type |
Dize | Düğüm türünün adı. Bu, bulut sağlayıcısındaki örnek türü adıyla eşleşir. | Standard_D16s_v3 |
private_ip |
Dize | Düğüme atanmış olan özel IP adresi. | 10.0.0.42 |
Örnek olayları tablosu şeması
Important
Bu sistem tablosu Genel Önizleme aşamasındadır.
Örnek olayları tablosu, klasik işlem örneklerinin durum geçişlerini yakalar. Her satır, tek bir örnek için durum değişikliğini temsil eder. Bu tablo, hesabınızdaki tüm çalışma alanlarından aynı bulut bölgesine dağıtılan tüm çalışma alanlarındaki tüm amaçlı işlem, iş hesaplama ve Lakeflow işlem hatları için kayıtları içerir.
Tablo yolu: Bu sistem tablosu system.compute.instance_eventskonumunda bulunur.
| Sütun adı | Veri türü | Açıklama | Örnek |
|---|---|---|---|
account_id |
Dize | Bu örneğin başlatıldığı hesabın kimliği. | 23e22ba4-87b9-4cc2-9770-d10b894b7118 |
workspace_id |
Dize | Bu örneğin başlatıldığı çalışma alanının kimliği. | 1234567890123456 |
instance_id |
Dize | Örneğin kimliği. | i-0a1b2c3d4e5f67890 |
event_time |
Tarih damgası | Olayın zaman damgası. | 2024-01-15 10:30:00.000 |
event_type |
Dize | Etkinlik türü. Olası değerler INSTANCE_LAUNCHING ve STATE_TRANSITION şeklindedir. |
STATE_TRANSITION |
instance_pool_id |
Dize | Örnek bir havuza aitse örnek havuzu kimliği. | 1107-555555-pool-abcd1234 |
cluster_id |
Dize | Bu örneğin yerleştirildiği kümenin kimliği. Yalnızca state, INSTANCE_PLACED olduğunda doldurulur.
Cluster_id ayrıntılarına bakın. |
0000-123456-xxxxxxxx |
node_type |
Dize | Düğüm türünün adı. Bu, bulut sağlayıcısındaki örnek türü adıyla eşleşir. | Standard_D16s_v3 |
state |
Dize | Örnek durumu. Bkz . Örnek durumları. | INSTANCE_PLACED |
availability_type |
Dize | Örneğin kullanılabilirlik türü. Olası değerler ON_DEMAND ve SPOT (AWS, Azure) veya ON_DEMAND ve PREEMPTIBLE (GCP) değerleridir. |
ON_DEMAND |
Örnek durumları
-
INSTANCE_LAUNCHING: Örnek başlatılıyor. -
INSTANCE_READY: Örnek tamamen başlatılır ve kullanılmaya hazırdır, ancak şu anda kullanımda değildir. -
INSTANCE_PLACED: Örnek şu anda kullanımda (kümeye katılmış). -
INSTANCE_TERMINATED: Örnek sonlandırıldı.
cluster_id ne zaman doldurulur?
Alan cluster_id yalnızca örnek INSTANCE_PLACED durumunda olduğunda doldurulur. Diğer tüm eyaletler için (INSTANCE_LAUNCHING, INSTANCE_READY), INSTANCE_TERMINATEDcluster_idşeklindedirnull. Bu davranış hem havuza alınan hem de havuza alınan olmayan örnekler için tutarlıdır.
Tablo instance_events yalnızca tüm amaçlı, işler ve Lakeflow işlem hatları için yerleştirme olaylarını içerir. SQL ambarları gibi diğer iş yükleri için yerleştirme olayları bu tabloya dahil değildir.
Örnek havuzları tablo şeması
Important
Bu sistem tablosu Genel Önizleme aşamasındadır.
Örnek havuzları tablosu, zaman içindeki örnek havuzu yapılandırmalarının tam geçmişini içeren yavaş değişen bir boyut tablosudur. Yapılandırma değiştiğinde, mantıksal olarak öncekinin yerini alan yeni bir satır yayılır.
Tablo yolu: Bu sistem tablosu system.compute.instance_poolskonumunda bulunur.
| Sütun adı | Veri türü | Açıklama | Örnek |
|---|---|---|---|
account_id |
Dize | Bu örnek havuzunun oluşturulduğu hesabın kimliği. | 23e22ba4-87b9-4cc2-9770-d10b894b7118 |
workspace_id |
Dize | Bu örnek havuzunun oluşturulduğu çalışma alanının kimliği. | 1234567890123456 |
instance_pool_id |
Dize | Örnek havuzunun kimliği. | 1107-555555-pool-abcd1234 |
change_time |
Tarih damgası | Örnek havuzu yapılandırmasında değişiklik zaman damgası. | 2024-01-15 10:30:00.000 |
create_time |
Tarih damgası | Örnek havuzu oluşturma zaman damgası. | 2024-01-10 08:00:00.000 |
delete_time |
Tarih damgası | Örnek havuzu silme zaman damgası. Değer, null örnek havuzu silinmezse olur. |
null |
instance_pool_name |
Dize | Örnek havuzunun kullanıcı tanımlı adı. | My instance pool |
tags |
harita | Örnek havuzu için kullanıcı tanımlı etiketler (varsayılan etiketleri içermez). | {"team":"data-engineering"} |
node_type |
Dize | Havuzdaki örnekler için kullanılan düğüm türü. Bu, bulut sağlayıcısındaki örnek türü adıyla eşleşir. | Standard_D16s_v3 |
idle_instance_autotermination_minutes |
bigint | Havuz önbelleğindeki boştaki örneklerin devre dışı bırakıldıktan sonra otomatik olarak sonlandırıldığı dakika sayısı. | 120 |
min_idle_instances |
bigint | Instance havuzunda tutulacak en az boştaki instance sayısı. | 2 |
max_capacity |
bigint | Kümeler tarafından kullanılan ve boştaki örnekler de dahil olmak üzere, havuzda tutulacak en fazla açık kalan örnek sayısı. | 10 |
enable_elastic_disk |
Boolean | Yerel DepolamaYı Otomatik Ölçeklendirme: Etkinleştirildiğinde, Spark çalışanlarının disk alanı azaldığında bu havuzdaki örnekler dinamik olarak ek disk alanı alır. | true |
disk_spec |
yapı | Tüm Spark kapsayıcılarına bağlı disklerin belirtimi. | {"disk_type": "PREMIUM_LRS","disk_count": 2,"disk_size": 100} |
preloaded_docker_images |
dizi | Havuza önceden yüklenmiş özel Docker görüntüleri. | [] |
preloaded_spark_version |
Dize | Tanımlanmışsa havuz için önceden yüklenmiş Spark görüntüsü sürümü. | 14.3.x-scala2.12 |
aws_attributes |
yapı | AWS üzerinde çalışan örnek havuzlarıyla ilgili öznitelikler. | null |
azure_attributes |
yapı | Azure üzerinde çalışan örnek havuzlarıyla ilgili öznitelikler. | {"availability": "ON_DEMAND_AZURE","spot_bid_max_price": -1} |
gcp_attributes |
yapı | GCP üzerinde çalışan örnek havuzlarıyla ilgili öznitelikler. | null |
Bilinen sınırlamalar
- 23 Ekim 2023'e kadar silinmiş olarak işaretlenen işlem kaynakları kümeler tablosunda görünmez. Bu,
system.billing.usagetablosundan birleştirmelerin kümeler tablosundaki kayıtlarla eşleşmemesiyle sonuçlanabilir. Tüm etkin işlem kaynakları yedeklendi. - Bu tablolar yalnızca genel amaçlı ve iş hesaplama için kayıtları içerir. Sunucusuz işlem veya SQL ambarları için kayıtlar içermezler.
- 10 dakikadan kısa bir süre boyunca çalıştırılmayan düğümler
node_timelinetablosunda görünmeyebilir.
Örnek sorgular
Sık sorulan soruları yanıtlamak için aşağıdaki örnek sorguları kullanabilirsiniz:
- Küme kayıtlarını en son faturalama kayıtlarıyla birleştirme
- En yüksek ortalama kullanım ve en yüksek kullanım ile işlem kaynaklarını belirleme
- Her örnek havuzunun en son sürümünü alma
- Boşta ve etkin zamanı hesaplama
Not
Bu örneklerden bazıları küme tablosunu system.billing.usage tablosuyla birleştirir. Bu nedenle, faturalama kayıtları bölgeye özgü olduğundan ve küme kayıtları bölge-spesifik olduğundan, faturalama kayıtları yalnızca sorguladığınız bölge için küme kayıtlarıyla eşleşir. 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.
usage_start_time en güncel faturalama dönemine güncelleştirdiğinizde, küme verilerine katılmak için faturalama kayıtlarında yapılan en son güncelleştirmeleri alır.
Her kayıt, o belirli ç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;
En yüksek ortalama kullanıma ve maksimum kullanıma sahip hesaplama kaynaklarını belirleyin.
En yüksek ortalama CPU kullanımı ve en yüksek zirve CPU kullanımı olan çok amaçlı ve görev amaçlı hesaplamayı belirleyin.
SELECT
distinct cluster_id,
driver,
avg(cpu_user_percent + cpu_system_percent) as `Avg CPU Utilization`,
max(cpu_user_percent + cpu_system_percent) as `Peak CPU Utilization`,
avg(cpu_wait_percent) as `Avg CPU Wait`,
max(cpu_wait_percent) as `Max CPU Wait`,
avg(mem_used_percent) as `Avg Memory Utilization`,
max(mem_used_percent) as `Max Memory Utilization`,
avg(network_received_bytes)/(1024^2) as `Avg Network MB Received per Minute`,
avg(network_sent_bytes)/(1024^2) as `Avg Network MB Sent per Minute`
FROM
node_timeline
WHERE
start_time >= date_add(now(), -1)
GROUP BY
cluster_id,
driver
ORDER BY
3 desc;
Her örnek havuzunun en son sürümünü alma
Tablo instance_pools SCD2 türüdür; burada mevcut kayıtları güncelleştirmek yerine her değişiklik yapıldığında yeni bir kayıt oluşturulur. En son sürümü almak için en büyük change_timeile girdisini alın.
SELECT *
FROM system.compute.instance_pools
QUALIFY row_number() OVER (
PARTITION BY workspace_id, instance_pool_id
ORDER BY change_time DESC
) = 1;
Boşta ve etkin zamanı hesaplama
Bu sorgu, tablodan durum geçişlerini instance_events kullanarak her örnek için toplam boşta kalma süresini ve etkin süreyi hesaplar.
WITH instance_states AS (
SELECT
*,
event_time AS start_time,
lead(event_time) OVER (
PARTITION BY workspace_id, instance_id
ORDER BY event_time
) AS end_time
FROM system.compute.instance_events
WHERE event_type IN ('INSTANCE_LAUNCHING', 'STATE_TRANSITION')
)
SELECT
workspace_id,
instance_id,
instance_pool_id,
sum(if(state = 'INSTANCE_READY',
TIMESTAMPDIFF(SECOND, start_time, end_time), 0)) / 60 AS idle_minutes,
sum(if(state = 'INSTANCE_PLACED',
TIMESTAMPDIFF(SECOND, start_time, end_time), 0)) / 60 AS active_minutes
FROM instance_states
GROUP BY workspace_id, instance_id, instance_pool_id;