为了账号安全,请及时绑定邮箱和手机立即绑定

在 Dataflow 中从 BigQuery 写入 Cloud Storage 时如何设置文件大小而

在 Dataflow 中从 BigQuery 写入 Cloud Storage 时如何设置文件大小而

函数式编程 2023-08-09 15:31:28
目前使用 Dataflow 从 BigQuery 读取表数据,并使用一定数量的分片写入 Cloud Storage。//Read Main InputPCollection<TableRow> input = pipeline.apply("ReadTableInput",    BigQueryIO.readTableRows().from("dataset.table"));// process and write filesinput.apply("ProcessRows", ParDo.of(new Process())    .apply("WriteToFile", TextIO.write()        .to(outputFile)        .withHeader(HEADER)        .withSuffix(".csv")        .withNumShards(numShards));为了管理文件大小,我们估计了将文件保持在一定大小所需的分片总数。有没有办法代替设置分片数量,设置文件大小并让分片动态?
查看完整描述

1 回答

?
MMMHUHU

TA贡献1834条经验 获得超8个赞

根据设计,这是不可能的。如果您深入研究 Beam 的核心,您可以通过编程方式定义一个执行图,然后运行它。ParDo该过程在同一节点或多个节点/VM 上是大规模并行的(意味着“并行执行”)。

这里的分片数量只是并行工作以写入文件的“写入器”的数量。然后PCollection将被拆分给所有worker写入。

大小变化很大(例如消息的大小、文本编码、压缩与否以及压缩因子……),Beam 不能依赖它来构建其图形。


查看完整回答
反对 回复 2023-08-09
  • 1 回答
  • 0 关注
  • 86 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信