我在BigQuery中有一个表BigQuery,它包含50亿行(~80 in ),并在dateTimeCreated列上进行分区,该列的时间戳类型是按日划分的。> '2000-01-01'order by 1 desc
我希望BigQuery能够快速返回结果,因为这基本上是在计算每个分区中的行数,我认为这是BigQuery作为内部元数据维护的一个统计
比如说,在Dataflow/Apache程序中,我正在尝试读取数据呈指数增长的表。我想提高阅读的性能。dataset.tablename")BigQueryIO.Read.fromQuery("SELECT A, B FROM [projectid:dataset.tablename]")
如果我只是在表中选择所需的列,而不是上面的整个表,那么我的读取性能会提高吗?
使用DataFlow SDK2.x,我想从BigQuery分区表中读取数据。到目前为止,我找到的唯一选择是使用BigQueryIO.Read.fromQuery(String query)方法和查询SELECT * FROM table WHERE _PARTITIONTIME在DataFlow中,有没有其他方法可以读取分区的BigQuery表?
我通过使用表本身的日期列在BigQuery上创建了一个时间分区表: new_table.time_partitioning = bigquery.TimePartitioning(field='date') 我通过一个简单的请求查询数据,如下所示: SELECT * FROM t where date="2020-04-08" 我的问题是,这是否足以查询分区,从而降低成本,或者我是否还需要添加QueryingPa
在BigQuery中,我可以从查询创建一个永久表。有没有一种方法可以使这样的表按日期分区?我可以查询日期分区表,但不能从查询创建日期分区表。例如,给定一个按日期分区的表tblwhere _partitiontime between cast('YYYY-MM-DD' as timestamp) andcast('YYYY-MM-DD' as timestamp)
将产生一
两个表都是分区的。
下面的预定查询每天运行,以获取昨天的数据。SELECT * FROM gcp_billing_export_v1 WHERE DATE(_PARTITIONTIME) = DATE_ADD(CURRENT_DATE(), INTERVAL -1我在下面的查询中尝试了回填功能--期望回填实用程序将过去的日期(即5月15日)作为@run_date的param,但这并没有帮助。SELECT * FROM gcp_billing_export_v1 WHERE</em