簡體   English   中英

如何在大型查詢查詢中使用標簽來跟蹤成本?

[英]How do I use labels in big query queries to track cost?

是否可以在查詢請求中使用configuration.labels屬性來跟蹤 bigquery 查詢的成本? 我已經指定了一些標簽,我確實在作業定義中找到了它,正如您在此處看到的那樣:

{
  "configuration": {
    "labels": {
      "label1": "tomas",
      "label2": "yolo"
    },
    "query": {
      "allowLargeResults": false,
      "createDisposition": "CREATE_IF_NEEDED",
      "destinationTable": {
        "datasetId": "dataset",
        "projectId": "project name",
        "tableId": "label "
      },
      "priority": "INTERACTIVE",
      "query": "a select query",
      "useLegacySql": false,
      "writeDisposition": "WRITE_TRUNCATE"
...
}

我還在賬單下啟用了賬單導出,但是當我查看導出的數據時,我找不到我的標簽。

標簽在應用於數據集和表時效果很好,但我無法讓它與查詢一起使用。 這些用於查詢的標簽是否是其他內容並且未顯示在帳單中?

我無法查詢或過濾特定標簽,但至少可以用這個來顯示它們......

SELECT  service.description, cost, labels
FROM `PROJECTNAME.billing_report.gcp_billing_export_v1_016D47_E84908_9F5AB5` 
WHERE cost > 0
LIMIT 1000

您可以通過將以下內容添加到查詢來添加查詢標簽(鍵:值):

SET @@query_label = "label_key:label_value";

SELECT *
FROM your_project_id.your_dataset.your_table;

這會更改系統變量@@query_label ,另請參閱:
https://cloud.google.com/bigquery/docs/adding-labels#adding-label-to-session https://cloud.google.com/bigquery/docs/reference/system-variables


設置@@query_label將創建一個沒有key:value label 的parent_job,但它也會創建一個具有key:value label 的子作業。

您可以看到,在查詢信息模式以深入了解查詢詳細信息時(您需要適當的授權才能執行此查詢):

SELECT creation_time, job_id, parent_job_id, user_email, labels, query, total_bytes_billed
FROM `your_project_id.region-eu.INFORMATION_SCHEMA.JOBS`
WHERE creation_time >= '2022-12-06'
ORDER BY creation_time DESC

如果您使用bq命令,您可以通過添加--label標志來完成,如下所示

bq query \
--nouse_legacy_sql \
--label foo:bar \
'SELECT COUNT(*) FROM `bigquery-public-data`.samples.shakespeare'

然后,您可以在 Cloud logging 中發出以下過濾器

resource.type="bigquery_resource"
protoPayload.serviceData.jobCompletedEvent.job.jobConfiguration.labels.foo="bar"

對於 API 或客戶端庫,請檢查此對象

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM