首页 > 解决方案 > Flink 跨多个主机读取 CSV

问题描述

我有一个像https://ci.apache.org/projects/flink/flink-docs-release-1.2/setup/cluster_setup.html这样的集群,在其中我有多个 CSV 对应于每个主机的分片。我想使用表 API 计算跨多个主机的 CSV 列的总和。每个工作人员都应该能够计算他拥有的 CSV 的总和并将结果返回到主服务器。是否有可能,如果这是我应该实施的。

标签: apache-flinkflink-sql

解决方案


如果我正确理解您的问题,您想阅读 CSV 文件并总结一些字段。这是一个相当简单的查询,对 Flink 来说不是问题。

使用最新的 Flink 版本(1.4.2),您可以将 a 注册CsvTableSource为表并运行类似SELECT sum(a), sum(b) FROM yourTable.

请注意,CSV 文件应存储在可从所有机器(分布式文件系统、NFS 等)访问的文件系统中。


推荐阅读