java - 如何在 Flink 中读取 .bsq 文件?

标签 java apache-flink

正确设置我的项目后,我需要将几个 .bsq 文件读取/导入到我的环境中。我尝试使用 env.readFile()像这样的方法:

DataSet<T> data = env.readFile(*insertFileInputFormatHere*, filePath);

但我无法获得正确的FileInputFormat。因为它是抽象的,所以我不能有自己的实例。我是否应该扩展 abstract class FileInputFormat 并使用我自己的扩展来实例化 FileInputFormat?还是有其他我不认识的方式?

最佳答案

似乎.bsq文件是二进制格式,不存在 Flink 或 Hadoop InputFormat(我包括 Hadoop InputFormats,因为 Flink 也支持 Hadoop IF)

因此您必须实现自己的InputFormat 来读取文件。我建议从 Flink 的 org.apache.flink.api.common.io.FileInputFormat 扩展您自己的 InputFormat。

要使用你自己的输入格式,你必须这样调用它

final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
env.createInput(new MyInputFormat());

关于java - 如何在 Flink 中读取 .bsq 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32611351/

相关文章:

java - 当命令行未指定配置文件时,Spring Boot 集成测试无法获取默认配置文件并引发错误

java - 在 linux 服务器上运行用 java 编写的计划任务

playframework - Flink 与 Play 2.5 的 Akka 版本冲突

apache-flink - Flink 中数据流的本地聚合

postgresql - 是否可以直接从数据库表中读取数据以在 Apache Flink 中进行批处理,而不是从 csv 文件中读取数据?

java - Netbeans 损坏的平台

java - 获取发布到 JAXB Web 服务端点的 XML 字符串

java - jax-rs response.getEntity 不工作

jar - 将 Storm 拓扑转换为 flink - "no entry class specified"?

Kotlin 类未识别为 Flink 有效 POJO