Apache Flink 输出到每个 GroupedDataSet 的 csv 文件 [英] Apache Flink output to csv file for each GroupedDataSet

查看:17
本文介绍了Apache Flink 输出到每个 GroupedDataSet 的 csv 文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想将每个 groupedDataSet 输出到 csv.

I want to output to csv every groupedDataSet.

数据示例:

A,123
B,200
A,400
B,400

所以我想要的输出是:

文件 1:

A,123
A,400

文件 2:

B,200
B,400

所以基本上是 exampleData 的简单代码:

So basically a simple code for exampleData:

exampleData.groupBy(0).sortGroup(1, Order.ASCENDING)

现在我想将每个 groupedDataSet 输出到不同的 CSV.实现这一目标的最佳做法是什么?

Now I want to output each groupedDataSet to a different CSV. What is the best practice to achieve this?

我使用的是 Scala 版本 2.11.12 和 Flink 版本 1.11.0

I'm using Scala version 2.11.12, and Flink version 1.11.0

推荐答案

您需要的是分桶接收器,但目前仅支持流式作业,不支持批处理.Flink 1.12 统一了batch &流媒体,所以理论上这可能对你有用.我为批处理作业实现了自己的分桶接收器,但最近版本的 Hadoop 似乎存在一些问题,我需要对其进行调试.

What you need is a bucketing sink, but that's currently only supported for streaming jobs, not batch. Flink 1.12 has unified batch & streaming, so in theory that might work for you. I implemented my own bucketing sink for batch jobs, but it seems to have some issues with recent versions of Hadoop, which I need to debug.

这篇关于Apache Flink 输出到每个 GroupedDataSet 的 csv 文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆