一、导入依赖

参考本人下博客

二、代码

FLink11FilterApp.java

package net.xdclass.class9;

import org.apache.flink.api.common.RuntimeExecutionMode;
import org.apache.flink.api.common.functions.FilterFunction;
import org.apache.flink.api.java.functions.KeySelector;
import org.apache.flink.streaming.api.datastream.DataStream;
import org.apache.flink.streaming.api.datastream.SingleOutputStreamOperator;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment; import net.xdclass.source.VideoOrderSourceV2;
import net.xdclass.model.VideoOrder; /**
* @desc filter算子
* @menu
*/
public class FLink11FilterApp { public static void main(String[] args) throws Exception{
//WebUi方式运行
// final StreamExecutionEnvironment env =
// StreamExecutionEnvironment.createLocalEnvironmentWithWebUI(new Configuration());
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
//设置运行模式为流批一体
env.setRuntimeMode(RuntimeExecutionMode.AUTOMATIC);
//并行度
env.setParallelism(1);
//设置为自定义source
DataStream<VideoOrder> ds = env.addSource(new VideoOrderSourceV2()); SingleOutputStreamOperator<VideoOrder> filterDs = ds.filter(new FilterFunction<VideoOrder>() {
@Override
public boolean filter(VideoOrder videoOrder) throws Exception {
return videoOrder.getMoney() > 10;
}
}); // KeyedStream<VideoOrder, Object> videoKeyBy = filterDs.keyBy(new KeySelector<VideoOrder, Object>() {
// @Override
// public Object getKey(VideoOrder videoOrder) throws Exception {
// return videoOrder.getTitle();
// }
// });
// SingleOutputStreamOperator<VideoOrder> videoKeySum = videoKeyBy.sum("money");
SingleOutputStreamOperator<VideoOrder> moneyDs = filterDs.keyBy(new KeySelector<VideoOrder, Object>() {
@Override
public Object getKey(VideoOrder videoOrder) throws Exception {
return videoOrder.getTitle();
}
}).sum("money"); moneyDs.print(); //DataStream需要调用execute,可以取个名称
env.execute("keyBy map job");
}
}

Flink11--FliterAndKeyBy算子的更多相关文章

  1. (八)map,filter,flatMap算子-Java&Python版Spark

    map,filter,flatMap算子 视频教程: 1.优酷 2.YouTube 1.map map是将源JavaRDD的一个一个元素的传入call方法,并经过算法后一个一个的返回从而生成一个新的J ...

  2. opencv中的SIFT,SURF,ORB,FAST 特征描叙算子比较

    opencv中的SIFT,SURF,ORB,FAST 特征描叙算子比较 参考: http://wenku.baidu.com/link?url=1aDYAJBCrrK-uk2w3sSNai7h52x_ ...

  3. 特征描述算子-sift

    特征描述算子-sift http://boche.github.io/download/sift/Introduction%20to%20SIFT.pdf

  4. EasyPR--开发详解(3)高斯模糊、灰度化和Sobel算子

    在上篇文章中我们了解了PlateLocate的过程中的所有步骤.在本篇文章中我们对前3个步骤,分别是高斯模糊.灰度化和Sobel算子进行分析. 一.高斯模糊 1.目标 对图像去噪,为边缘检测算法做准备 ...

  5. Spark算子选择策略

    摘要  1.使用reduceByKey/aggregateByKey替代groupByKey 2.使用mapPartitions替代普通map 3.使用foreachPartitions替代forea ...

  6. sobel算子的一些细节

    1. 形式 Gy 上下颠倒的 (*A表示卷积图像,忽略先): 看得出来,sobel算子感觉并不统一,特别是方向,我们知道matlab的图像格式是,x轴从左到右,y轴从上到下,原点在左上角. 所以,第二 ...

  7. halcon算子

    halcon的算子列表   Chapter 1 :Classification 1.1 Gaussian-Mixture-Models 1.add_sample_class_gmm 功能:把一个训练样 ...

  8. Canny算子边缘检测(cvCanny)

    Canny是常用的边缘检测方法,其特点是试图将独立边的候选像素拼装成轮廓. John Canny于1986年提出Canny算子,它与Marr(LoG)边缘检测方法类似,也属于是先平滑后求导数的方法. ...

  9. SURF算子(1)

    SURF算子,参考这篇文章的解释http://www.ipol.im/pub/art/2015/69/ SURF 是   Speeded Up Robust Features 加速鲁棒特征的含义. T ...

  10. sobel算子原理及opencv源码实现

    sobel算子原理及opencv源码实现 简要描述 sobel算子主要用于获得数字图像的一阶梯度,常见的应用和物理意义是边缘检测. 原理 算子使用两个33的矩阵(图1)算子使用两个33的矩阵(图1)去 ...

随机推荐

  1. Python:pygame游戏编程之旅五(游戏界面文字处理详解)

    再简单的游戏界面中均涉及文字处理,本节主要解读一下pygame模块中对文字及字体的处理方式. 同样,以实例进行讲解,先看看代码: #!/usr/bin/env python # -*- coding: ...

  2. vue3-Pinia

    Pinia 是 Vue.js 的一个状态管理库,用于在 Vue 应用程序中管理共享状态.它是 Vuex 的后继者,提供了一个简单.直观且灵活的方式来处理应用中的全局状态,比如用户登录信息.应用配置.购 ...

  3. 从Delphi到Lazarus——在Lazarus中使用ActiveX控件(导入类型库)

    0.前言 Lazarus的设计目标是应用Free Pascal,所以所有凡是Free Pascal能运行的平台,Lazarus都可以运行.通俗地说就是Lazarus追求的是跨平台编程,致力于" ...

  4. 【Amadeus原创】docker安装TOMCAT,并运行本地代码

    1,docker 下载tomcat [root@it-1c2d ~]# docker pull tomcat ... [root@it-1c2d ~]# docker images REPOSITOR ...

  5. 【WEB前端】【报错解决】This request has been blocked; the content must be served over HTTPS.

    问题描述 部署WEB项目后,开启了强制HTTPS,产生如下错误: Mixed Content: The page at 'https://ask.mllt.vip/index.php/data1.ht ...

  6. OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054

    OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054,vagrant box add laravel/homestead,安装 Homestead Vagr ...

  7. Qt/C++推流程序(视频文件/视频流/摄像头/桌面转成流媒体rtmp+hls+webrtc)可在网页和播放器远程观看

    一.前言说明 推流直播就是把采集阶段封包好的内容传输到服务器的过程.其实就是将现场的视频信号从手机端,电脑端,摄影机端打包传到服务器的过程."推流"对网络要求比较高,如果网络不稳定 ...

  8. Qt编写视频监控系统71-外网访问摄像头等设备(获取各种信息及拉流)

    一.前言 最近遇到个需求是通过外网接入摄像机或者NVR,通用的做法是将视频流推流到服务器,然后拉取rtmp视频流,这样就多了服务器的要求,而且实现的功能有限比如不能直接用onvif协议对设备获取信息和 ...

  9. UML之图框架标题类型之谬

    在UML中,我们可以用一个被称为"框架"的边界框围绕着UML图形,当然在很多情况下,框架可以省略,也就是不将它描画出来.但是对于某些图形类型而言,框架具有语义意义,在这些图形类型中 ...

  10. 已有docker镜像构建过程分析

    转载请注明出处: 1.使用docker history进行分析 docker history 命令用于查看指定镜像的历史层信息,它显示了镜像创建过程中的每一层,包括创建时间.创建者.大小和注释等信息. ...