设置MaxStreamCount=1时,BigQuery Storage API能否保证行顺序?
用BigQuery Storage Read API维持读取顺序的Go实现
我在基于Go的数据管道中使用BigQuery Storage Read API读取大型数据表。默认情况下,该Storage API会采用多流并行读取模式,因此不保证行顺序。但我的业务场景需要维持一致的读取顺序——例如按id或timestamp列排序——以此简化下游的处理逻辑。
为了避免并行读取带来的乱序问题,我做了如下配置:
createReadSessionRequest := &storagepb.CreateReadSessionRequest{ Parent: fmt.Sprintf("projects/%s", dataset.ProjectID), ReadSession: &storagepb.ReadSession{ Table: readTableId, DataFormat: dataFormat, ReadOptions: tableReadOptions, }, MaxStreamCount: 1, PreferredMinStreamCount: 1, }
内容的提问来源于stack exchange,提问作者Gilo
相关产品推荐
相关产品推荐

