2

再会,

目前,我们同时启用了访问和活动日志记录,并将日志推送回 BQ 数据集。有没有办法用额外的元数据标签来标记 BigQuery 作业或单个查询?Teradata 有一个称为查询绑定的功能,您可以在其中提交键值对组,然后将它们绑定到单个查询或会话,具体取决于它的设置方式。

我在这里设想的用例是让我能够使用这些标签从审计日志中聚合某些信息。例如,我正在尝试构建一个基准测试流程,我计划针对多个静态数据集运行多次。如果我能以某种方式标记一个特定的查询,这样我就可以围绕同一流程的不同执行收集指标,而且还可以用不同的标签在不同的级别将它联系在一起,那就太好了。

当我想分析时,我可以运行类似于以下的查询:

select 
custom_metadata.<custom_key2>, custom_metadata.<custom_key>, duration, bytesprocessed, querytext
from data_access_log
where
custom_metadata.<custom_key> in ('TY_LY_SLS', 'DLY_AGG')
and custom_metadata.<custom_key2> in ('SLS_BENCH')

或者

select 
custom_metadata.<custom_key2>, DATE(start_time), sum(duration)
from data_access_log
where
custom_metadata.<custom_key2> = 'SLS_BENCH'
GROUP BY 1,2
4

1 回答 1

2

我为此使用jobid。对于任何工作,您都可以提供自己的价值——您只需要确保它是独一无二的。您可以在这里“摄取”您的自定义键,然后将它们解析出来并在您的使用分析中使用它们。
另一种选择是在查询文本中使用注释 - 但我不喜欢这个想法,因为它使查询分析本身很垃圾并且只针对查询作业,而 jobid 可以针对任何类型的作业进行自定义,因此更通用

于 2016-06-02T23:05:04.137 回答