当您需要在数据流作业中读取bigquery中的一个或多个表中的所有数据时,我会说有两种方法。第一种方法是使用from
和fromQuery
来读取有问题的表,第二种方法是使用read
来指定查询所有数据的查询表。所以我的问题是:
我在文档中没有找到任何关于此的内容,但我真的很想知道。我想可能BigQuery
可能更快,因为您不需要运行扫描数据的查询,这意味着它更类似于BigQueryIO.read(...).from(tableName)
UI中的预览功能。如果这是真的,它也可能便宜得多,但如果两者的成本相同,那就有意义了。
简而言之,有什么区别:
BigQueryIO.read(...).fromQuery("SELECT * FROM " + tableName)
并且
{{1}}
答案 0 :(得分:5)
from
比fromQuery(SELECT * FROM ...)
更便宜,更快。
from
直接导出表格,导出数据为free,用于BigQuery。fromQuery(SELECT * FROM ...)
将首先扫描整个表格($ 5 / TB)并导出结果。