我的源文件中有以下数据。
我想过滤数据,使输出只包含最近日期的数据,例如: DEF有2个值2.5,3-Jan和4,4-Jan,我想过滤最近日期的行(4,4-Jan),这样输出就会包含以下结果。我如何在数据流中做到这一点?
我试过了,成功了,请按照步骤操作。
第一步:创建一个 source
(我用的是csv文件,里面有你提供的数据)。RecentDate
栏目应该是'01-04-2020',而不是'04-Jan',因为'04-Jan'无法排序,投影的设置见图。
第二步:创建一个 aggregate
请选择 "电影 "一栏,在 Group By
配置,以及设置 Aggregates
请看图。
第三步:创建一个 new branch
(点击源头右下角的 "+")
第四步:创建一个 join
和设置请看图片。
最后一步:创建一个 select
并删除两个重复的列('Movie'和'RecentDate')然后输出 sink
.
希望这些能帮到你。
以下是所有图片。
更新答案。
下面是如何只输出最大速率。
这是我的测试数据
Movie,MaxRate,RecentDate
ABC,3,02-01-2020
DEF,2.5,03-02-2020
DEF,4,04-01-2020
DEF,6,03-02-2020
这是总流量图像。
第一步:创建一个源,投影的设置是这样的。
第二步:创建聚合,请在Group By配置中选择'Movie'和'RecentDate'列,聚合的设置如下:。
第三步:创建聚合,请在Group By配置中选择'电影'一栏,聚合的设置如下:。
第四步:创建加盟和设置请看图示。
最后一步:创建一个select并删除两个重复的列('Movie'和'RecentDate'),然后将'Rate'命名为'MaxRate',最后输出汇。
下面是输出。
Movie,MaxRate,RecentDate
ABC,3,02-01-2020
DEF,6,03-02-2020
如果你想输出最小速率,只需要把 max($$)
到 min($$)
在第二步中,如果你想同时输出最大和最小流量,请像上面一样(最大流量流量)。
如果你想同时输出最大和最小流量,请像上面一样(最大流量),直到创建了select
遂 New branch
做最小流量,直到创建 select
完成,最后连接两个选择和删除重复的列。
如果你有其他问题,请告诉我。