BQ支持团队,
我们最近在BQ中使用UDF调查标准SQL,看起来效果非常好。但我们注意到使用它的成本太高。由于字节计费可以是原始表的百倍。我认为这是有道理的,因为UDF需要内存来处理。但我不明白的是,所有查询都使用UDF生成的表SQL仍然使用像UDF SQL这样的内存。我们的原始表大约是1.03K,而UDF SQL运行的开销是10M。以下是普通查询的作业信息:
从
中选择*project.udf_sql_table_name
;
Job ID *
Creation Time Apr 14, 2017, 2:57:29 PM
Start Time Apr 14, 2017, 2:57:29 PM
End Time Apr 14, 2017, 2:57:30 PM
Bytes Processed 1.05 KB
Bytes Billed 10.0 MB
Billing Tier 1
Destination Table *
Use Legacy SQL fase
从作业信息中,我们可以看到UDF SQL生成一个大约1.05K的表,它保存为project.udf_sql_table_name。现在甚至做一个简单的“SELECT”,“Bytes Billed”仍然是10M,比处理过的表大1000倍。 使用UDF时,我可以知道这是正确的吗? 感谢
答案 0 :(得分:1)
" Bytes Billed"仍然是10M,比处理过的表大1000倍。 ... 它是否正确?
是。这是对的。见On-demand pricing
费用四舍五入到最接近的MB,最小10 MB数据 根据查询引用的每个表进行处理,并且至少10 MB 每个查询处理的数据。