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

Rob*_*ann 2 java apache-flink

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

DataSet<T> data = env.readFile(*insertFileInputFormatHere*, filePath);
Run Code Online (Sandbox Code Playgroud)

但我无法得到合适的FileInputFormat.由于它是抽象的,我不能拥有自己的实例.我应该扩展abstract class FileInputFormat并使用我自己的扩展来实例化一个FileInputFormat?还是有另一种我不认识的方式?

Rob*_*ger 6

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

所以你必须实现自己InputFormat的阅读文件.我建议从Flink扩展你自己的InputFormat org.apache.flink.api.common.io.FileInputFormat.

要使用您自己的输入格式,您必须将其称为

final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
env.createInput(new MyInputFormat());
Run Code Online (Sandbox Code Playgroud)