开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

Flink如何读取远程服务器上的csv文件数据?

请问大神们Flink如何读取远程服务器上的csv文件数据?目前根据官方文档能看到的基本上是读取本地文件的方法,方法如下?


public class ExploreCsvFileService {

    public static void main(String[] args) throws Exception {
        StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
        CsvMapper mapper = new CsvMapper();
        CsvSchema schema = mapper.schemaFor(CommonVo.class).withoutQuoteChar().withColumnSeparator(',');
        CsvReaderFormat<CommonVo> csvFormat = CsvReaderFormat.forSchema(mapper, schema, TypeInformation.of(CommonVo.class));
        // 从文件流中读取文件内容
        FileSource<CommonVo> source = FileSource.forRecordStreamFormat(csvFormat, Path.fromLocalFile(new File("src/main/resources/test.csv")))
                //.monitorContinuously(Duration.ofMillis(5))
                .build();
        DataStreamSource<CommonVo> commonVoDataStreamSource = env.fromSource(source, WatermarkStrategy.noWatermarks(), "file-source");
        commonVoDataStreamSource.print();
        env.execute();
    }
}

展开
收起
游客gcusrw22fdavc 2023-02-24 14:54:51 512 2
1 条回答
写回答
取消 提交回答
  • 月移花影,暗香浮动

    Flink可以通过FileSystem API读取远程服务器上的csv文件数据,具体步骤如下: 1. 首先,需要在Flink的classpath中添加Hadoop的依赖,以便能够使用Hadoop的FileSystem API。 2. 然后,使用Hadoop的FileSystem API来获取远程服务器上的csv文件的路径。 3. 接着,使用Flink的DataStream API来读取远程服务器上的csv文件,并将其转换为DataStream。 4. 最后,使用Flink的DataStream API来处理读取的csv文件数据。

    2023-02-24 15:04:31
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    如何运维千台以上游戏云服务器 立即下载
    网站/服务器取证 实践与挑战 立即下载
    ECS快储存加密技术 立即下载