我要编写一个spring批处理程序,它将从hdfs读取一个文件,并更新mysql数据库中的数据。hdfs中的源文件包含一些csv格式的报表数据。有人能给我举一个从hdfs读取文件的例子吗?谢谢。
4dc9hkyq1#
这个 FlatFileItemReader 在spring中,批处理可以与任何spring框架一起工作 Resource 实施:
FlatFileItemReader
Resource
@Bean public FlatFileItemReader<String> itemReader() { Resource resource; // get (or autowire) resource return new FlatFileItemReaderBuilder<String>() .resource(resource) // set other reader properties .build(); }
所以如果你有一个 Resource 句柄指向一个hdfs文件,您的操作就完成了。现在,为了拥有hdfs资源,您可以:对hadoop使用spring。一旦配置了hdfs文件系统,就可以使用 applicationContext.getResource("hdfs:data.csv"); 实现你自己的 Resource 使用hadoopapi(如michaelsimons的答案所示)。我看到有些人已经在这里这样做了希望这有帮助。
applicationContext.getResource("hdfs:data.csv");
1条答案
按热度按时间4dc9hkyq1#
这个
FlatFileItemReader
在spring中,批处理可以与任何spring框架一起工作Resource
实施:所以如果你有一个
Resource
句柄指向一个hdfs文件,您的操作就完成了。现在,为了拥有hdfs资源,您可以:
对hadoop使用spring。一旦配置了hdfs文件系统,就可以使用
applicationContext.getResource("hdfs:data.csv");
实现你自己的Resource
使用hadoopapi(如michaelsimons的答案所示)。我看到有些人已经在这里这样做了希望这有帮助。