Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Artikel ini menjelaskan cara menggunakan tabel sistem penggunaan yang dapat ditagih untuk memantau biaya penggunaan komputasi tanpa server Anda.
Anda dapat memantau penggunaan komputasi tanpa server untuk buku catatan dan pekerjaan dengan mengkueri tabel sistem penggunaan yang dapat ditagih (system.billing.usage
), yang mencakup atribut pengguna dan beban kerja yang terkait dengan biaya komputasi tanpa server. Bidang yang berlaku meliputi:
- Kolom
identity_metadata
menyertakan bidangrun_as
, yang menunjukkan pengguna atau perwakilan layanan yang kredensialnya digunakan untuk menjalankan beban kerja. - Kolom
usage_metadata
memiliki bidang yang menjelaskan beban kerja:job_run_id
,job_name
,notebook_id
, dannotebook_path
.
- Kolom
custom_tags
, yang akan mencakup segala tag yang diwarisi dari kebijakan anggaran tanpa server. Lihat Penggunaan atribut dengan kebijakan anggaran tanpa server.
Fitur tambahan yang ditagih sebagai tanpa server
Ada beberapa fitur Azure Databricks yang memanfaatkan komputasi tanpa server di latar belakang tetapi tidak mengharuskan akun Anda diaktifkan untuk komputasi tanpa server untuk notebook, alur kerja, dan Alur Deklaratif Lakeflow.
Fitur berikut ditagih di bawah SKU pekerjaan tanpa server:
-
Pemantauan Lakehouse: Dicatat dalam tabel penagihan dengan
billing_origin_product
nilaiLAKEHOUSE_MONITORING
. -
Pengoptimalan Prediktif: Dicatat dalam tabel penagihan dengan
billing_origin_product
nilaiPREDICTIVE_OPTIMIZATION
. -
Tampilan materialisasi di Databricks SQL: Saat Anda membuat tampilan materialisasi di gudang SQL, alur tanpa server dibuat untuk memproses refresh. Anda bisa menampilkan rekaman tagihan untuk tampilan terwujud dengan mengkueri rekaman di mana
billing_origin_product = 'SQL'
danusage_metadata.dlt_pipeline_id IS NOT NULL
. -
Kontrol akses halus pada komputasi khusus: Dapat diidentifikasi dengan memiliki
billing_origin_product
nilaiFINE_GRAINED_ACCESS_CONTROL
.
-
Kamar bersih: Kamar bersih khusus yang terkait dengan penggunaan dicatat di bawah
usage_metadata.central_clean_room_id
.
Pertimbangan untuk catatan penggunaan tanpa server
Saat menganalisis penggunaan tanpa server Anda, pertimbangkan hal berikut:
- Anda mungkin melihat beberapa rekaman yang terkait dengan beban kerja komputasi tanpa server tertentu dalam satu jam tertentu. Misalnya, Anda mungkin melihat beberapa rekaman dengan
job_id
,job_run_id
, ataujob_name
yang sama tetapi dengan nilai konsumsi DBU yang berbeda untuk masing-masing. Jumlah DBU ini secara kolektif mewakili konsumsi DBU per jam untuk eksekusi pekerjaan tertentu.
Menggunakan anggaran untuk memantau pengeluaran
Admin akun dapat menyiapkan anggaran untuk mengelompokkan biaya dan menyiapkan pemberitahuan. Lihat Membuat dan memantau anggaran.
Mengimpor sebuah dasbor penggunaan
Administrator akun dapat mengimpor dasbor manajemen biaya ke workspace mana pun yang diaktifkan Unity Catalog di akun mereka. Lihat Impor dasbor penggunaan.
Menemukan pekerjaan atau buku catatan di UI
Untuk menemukan pekerjaan atau notebook di UI berdasarkan catatan penagihan, salin nilai usage_metadata.job_id
atau usage_metadata.notebook_id
dari catatan penggunaan. ID ini tidak dapat diubah dan dapat digunakan bahkan jika nama pekerjaan atau jalur buku catatan berubah.
Untuk menemukan pekerjaan di UI berdasarkan job_id
:
- Salin
job_id
dari catatan penggunaan. Untuk contoh ini, asumsikan ID adalah700809544510906
. - Navigasikan ke UI Pekerjaan & Alur di ruang kerja Azure Databricks yang sama dengan pekerjaan.
- Pilih filter Dapat Diakses oleh saya .
- Tempelkan ID (700809544510906) ke bilah pencarian Pekerjaan filter .
Untuk menemukan buku catatan di UI berdasarkan notebook_id
, gunakan instruksi berikut:
- Salin
notebook_id
dari catatan penggunaan. Untuk contoh ini, asumsikan ID adalah700809544510906
. - Navigasi ke UI Ruang Kerja di ruang kerja Azure Databricks yang sama dengan notebook.
- Klik buku catatan apa pun dalam daftar.
- Setelah Anda membuka notebook, periksa URL di bilah alamat browser. Ini akan terlihat seperti:
https://<account-console-url>/?o=<workspace ID>#notebook/<notebook ID>/command/<command ID>
- Di bilah alamat browser, ganti ID buku catatan dengan ID yang Anda salin di langkah pertama, lalu hapus semuanya setelah ID buku catatan. Ini akan terlihat seperti:
https://<account-console-url>/?o=<workspace ID>#notebook/700809544510906
- Setelah membuka buku catatan, Anda bisa mengklik tombol Bagikan untuk menampilkan pemilik buku catatan.
Menggunakan pemberitahuan untuk melacak pengeluaran tanpa server
Pemberitahuan adalah cara yang ampuh untuk tetap mendapatkan informasi tentang pengeluaran tanpa server Anda. Dengan pemberitahuan, Anda dapat menerima pemberitahuan saat kondisi tertentu terpenuhi dalam hasil kueri Anda. Untuk mempelajari cara membuat pemberitahuan, lihat Membuat pemberitahuan.
Anda dapat menambahkan pemberitahuan ke kueri berikut untuk memantau anggaran. Di setiap kueri, ganti {budget}
dengan anggaran yang Anda pilih.
Pemberitahuan saat setiap pengeluaran ruang kerja melebihi ambang dalam 30 hari terakhir
Anda dapat mengatur pemberitahuan untuk dijalankan setiap kali query ini mengembalikan baris. Ganti {budget}
dengan anggaran yang Anda pilih.
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}
Pemberitahuan saat pengguna melebihi ambang batas dalam 30 hari terakhir
Anda dapat mengatur pemberitahuan untuk dijalankan setiap kali query ini mengembalikan baris. Ganti {budget}
dengan anggaran yang Anda pilih.
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}
Pemberitahuan saat pekerjaan melebihi ambang dalam 30 hari terakhir
Anda dapat mengatur pemberitahuan untuk dijalankan setiap kali query ini mengembalikan baris. Ganti {budget}
dengan anggaran yang Anda pilih.
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}
Contoh kueri
Gunakan kueri berikut untuk mendapatkan wawasan tentang penggunaan tanpa server di akun Anda:
- Mengurutkan buku catatan tanpa server berdasarkan total pengeluaran
- Mengurutkan pekerjaan tanpa server berdasarkan total pengeluaran
- Laporan tentang DBU yang digunakan oleh pengguna tertentu
- Melaporkan DBA komputasi tanpa server yang digunakan oleh beban kerja yang berbagi tag kustom
Mengurutkan buku catatan tanpa server berdasarkan total pengeluaran
Kueri ini mengembalikan daftar buku catatan dan berapa banyak DBU yang digunakan setiap buku catatan, dalam urutan menurun berdasarkan konsumsi 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
Mengurutkan pekerjaan tanpa server berdasarkan total pengeluaran
Kueri ini mengembalikan daftar pekerjaan dan berapa banyak DBU yang dikonsumsi setiap pekerjaan, dalam urutan turun berdasarkan jumlah DBU yang dikonsumsi.
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
Laporan tentang DBUs yang digunakan oleh pengguna tertentu
Kueri ini mengembalikan daftar notebook dan pekerjaan yang menggunakan komputasi tanpa server yang dijalankan oleh pengguna atau perwakilan layanan tertentu, dan jumlah DBA yang digunakan oleh setiap beban kerja:
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
Laporan tentang DBU komputasi serverless yang dikonsumsi oleh beban kerja yang berbagi tag khusus
Kueri ini mengembalikan daftar pekerjaan yang menggunakan komputasi tanpa server yang memiliki tag kustom yang sama, dan jumlah DBA yang digunakan oleh setiap beban kerja:
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