我们一直在Google数据流设置中使用SpannerIO.readAll
扫描大量数据。将创建ReadOperation
和withQuery(query)
传递到扳手的withBatching(true)
。我注意到,尽管最初吞吐量不错,但最终可能由于工作量较大的异常值而降低到非常低的吞吐量。查看BatchSpannerRead代码,一个DoFn负责分区的所有批处理扫描工作。尽管在理想情况下,我们应该假定生成的分区应该处理这个离群值问题,但是在实践中,重新分割那些慢工的工作是否有意义?