Как только вы получите InputFormat
, вы можете позвонить ExecutionEnvironment.createInput(<input format>)
, чтобы создать свой DataSource
.
Для SequenceFile
s тип данных всегда Tuple2<key, value>
, поэтому вы должны использовать функцию карты для преобразования в любой тип, который вы пытаетесь прочитать.
Я использую этот код для чтения SequenceFile
, который содержит Каскадные кортежи ...
Job job = Job.getInstance();
FileInputFormat.addInputPath(job, new Path(directory));
env.createInput(HadoopInputs.createHadoopInput(new SequenceFileInputFormat<Tuple, Tuple>(), Tuple.class, Tuple.class, job);