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。现在甚至做一个简单的"选择","计费字节数"仍然是10M,比处理后的表大1000倍。我可以知道使用 UDF 时这是正确的吗?谢谢
"计费字节数"仍然是10M,是处理表的1000倍。 这是对的吗?
是的。这是正确的。见On-demand pricing
费用四舍五入到最接近的 MB,至少 10 MB 数据 处理查询引用的每个表,并且至少 10 MB 每个查询处理的数据。