apache-flink - Flink 跨多个主机读取 CSV
问题描述
我有一个像https://ci.apache.org/projects/flink/flink-docs-release-1.2/setup/cluster_setup.html这样的集群,在其中我有多个 CSV 对应于每个主机的分片。我想使用表 API 计算跨多个主机的 CSV 列的总和。每个工作人员都应该能够计算他拥有的 CSV 的总和并将结果返回到主服务器。是否有可能,如果这是我应该实施的。
解决方案
如果我正确理解您的问题,您想阅读 CSV 文件并总结一些字段。这是一个相当简单的查询,对 Flink 来说不是问题。
使用最新的 Flink 版本(1.4.2),您可以将 a 注册CsvTableSource
为表并运行类似SELECT sum(a), sum(b) FROM yourTable
.
请注意,CSV 文件应存储在可从所有机器(分布式文件系统、NFS 等)访问的文件系统中。
推荐阅读
- capnproto - 如何从 java 中的 protobuf.ByteString 获取 MessageReader
- java - 代码输出不在输出/调试面板中,而是在 VSCode Java 中的终端
- rabbitmq - 从 Qpid JMS 客户端启用 AMQP 1.0 插件连接到 RabbitMQ 3.7.18 时出现错误匹配错误
- python - 在 Python 中按行计算文件中单词的出现次数
- gcloud - google-cloud-sdk“gcloud 项目列表”不再显示项目列表
- python-3.x - 在平局的情况下,如何返回python中最大和最频繁的数字?
- reactjs - 如何在单击时惯用地将文本组件转换为输入组件?
- flutter - 如何在颤振中自定义 showDatePicker
- powershell - 使用 Xaml 中的变量进行计算
- kotlin - 如何在kotlin中将列表分解为地图?