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

时间:2015-09-16 14:22:51

标签: java apache-flink

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

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

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

1 个答案:

答案 0 :(得分:6)

似乎.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());