我必须编写一个Spring批处理,该批处理将从HDFS中读取文件并更新MySQL DB中的数据。
HDFS中的源文件包含一些CSV格式的报告数据。
有人可以指出我一个从HDFS读取文件的示例吗?
谢谢。
答案 0 :(得分:3)
Spring Batch中的Program received signal SIGSEGV, Segmentation fault.
0x0000000000000001 in ?? ()
(gdb) bt
#0 0x0000000000000001 in ?? ()
#1 0x00007fffffffe4ca in ?? ()
#2 0x0000000000000000 in ?? ()
可与任何Spring Framework FlatFileItemReader
实现一起使用:
Resource
因此,如果您设法使@Bean
public FlatFileItemReader<String> itemReader() {
Resource resource; // get (or autowire) resource
return new FlatFileItemReaderBuilder<String>()
.resource(resource)
// set other reader properties
.build();
}
句柄指向HDFS文件,那么您就完成了。
现在,要拥有HDFS资源,您可以:
Resource
applicationContext.getResource("hdfs:data.csv");
(如Michael Simons的答案所示)。我看到有些人已经这样做了here 希望这会有所帮助。