其他分享
首页 > 其他分享> > 使用Spring Batch从HDFS读取文件

使用Spring Batch从HDFS读取文件

作者:互联网

我必须编写一个Spring批处理,它将从HDFS读取文件并更新MySQL DB中的数据.

HDFS中的源文件包含一些CSV格式的报告数据.

有人可以指出我一个从HDFS读取文件的示例吗?

谢谢.

解决方法:

Spring Batch中的FlatFileItemReader可与任何Spring Framework 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资源,您可以:

>使用Spring for Hadoop.一旦配置了HDFS文件系统,就可以使用applicationContext.getResource(“ hdfs:data.csv”)从应用程序上下文中获取资源.
>使用Hadoop API实现自己的资源(如Michael Simons的答案所示).我看到有些人已经做了这个here

希望这可以帮助.

标签:spring-boot,spring-batch,hdfs,spring
来源: https://codeday.me/bug/20191108/2008364.html