java - 如何控制有界源 split ?

标签 java google-cloud-dataflow gcloud

我有一个数据流,其中输入是从数据库读取的大量数据。我想拆分此查询,并在作业启动时从多个主机执行它。据我所知,BoundedSource 无法直接控制输入拆分。最接近的是 splitIntoBundles,这基本上意味着我必须开始一次非常昂贵的读取,并希望 Dataflow 取消它并使用我定义的包分割。这看起来相当疯狂,所以我希望有一种更好的方法来预定义可以在任何远程工作人员上运行的输入拆分。

最佳答案

经过大量研究,没有办法控制单个reader的分割并行度。我的解决方案是创建多个读取器,让每个读取器读入自己的 PCollection,然后将多个 PCollection 扁平化为单个 PCollection。

关于java - 如何控制有界源 split ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42149577/

相关文章:

java - 如何将图像上传到tomcat或glassfish中的网络资源文件夹

java - 在 Java 中将 bytes 转换为 String 时会发生什么?

java - 如何使 ExpandableListView 中的某些项目不可扩展

Java Printf 对齐输出

google-cloud-platform - 在没有 gcloud 的情况下获取服务帐户身份验证 token ?

google-cloud-storage - 自动化 gsutil 命令

java - 根据消息内容从 Dataflow 作业写入动态 PubSub 主题

java - BigQueryIO.Read.fromQuery 位于欧盟的数据集出现问题

python - 在美国位置未找到数据集

google-cloud-sql - Cloud SQL 水平扩展