![]() |
1
3
这在数据流端或BigQuery端都是一个问题,具体取决于人们如何看待它。在拆分数据以进行并行处理时,数据流依赖于对数据大小的估计。当BigQuery偶尔严重低估查询结果大小时,就会出现较长的运行时间,因此,数据流会严重过度分割数据,运行时间会因读取BigQuery导出的大量小文件块的开销而受到限制。 一方面,这是我第一次看到BigQuery产生如此严重错误的查询结果大小估计。然而,由于大小估计本身就是最佳努力,通常可以任意关闭,因此数据流应该对此进行控制,并防止这种过度分裂。我们会调查并解决这个问题。 同时,我想到的唯一解决方法是使用Java SDK:它使用完全不同的代码来读取BigQuery,据我回忆,BigQuery不依赖于查询大小估计。 |
![]() |
Josh Sacks · 控制数据流/Apache Beam输出分片 7 年前 |