flink
文章平均质量分 64
qq_duhai
好记性不如烂笔头...
展开
-
1.11 flink中的动态加载udf jar包
背景项目中想要把flink做到平台化,只需要编辑sql便能把任务跑起来,开发过程中遇到一个问题,就是如何能够自动的加载自定义的函数包,因为项目中已经把main打包成一个通用的jar, 使用时只需要把sql信息用参数形式传入就可以. 但是如果sql中需要使用到udf,那么就需要实现flink的动态加载jar先说结论 在通用的jar main中通过反射使用类加载器,加载对应的jar包 通过反射设置StreamExecutionEnvironment中的configuration的conf...转载 2022-01-27 17:44:53 · 2362 阅读 · 0 评论 -
Flink实战(Java):自定义序列化器KafkaSerializationSchema和反序列化器KafkaDeserializationSchema
自定义序列化器:package com.sink;import org.apache.flink.streaming.connectors.kafka.KafkaSerializationSchema;import org.apache.kafka.clients.producer.ProducerRecord;import com.alibaba.fastjson.JSONObject;public class CustomKafkaSerializationSchema implem转载 2021-10-28 14:57:23 · 6383 阅读 · 1 评论 -
Flink 停止 job 的方式(stop 和 cancel)
1.Stop 方式后边跟的任务id 是flink的任务ID,不是yarn的flink stop -m 127.0.0.1:8081 357591171dfcca2eea09de注:stop方式停止任务对 source 有要求,source必须实现了StopableFunction接口,才可以优雅的停止job/*** 需要能 stoppable 的函数必须实现这个接口,例如流式任务的 source。* stop() 方法在任务收到 STOP 信号的时候调用。* source 在接收到转载 2021-10-20 10:51:21 · 13653 阅读 · 2 评论 -
FlinkRestService(Flink Rest API)
package com.iot.mapp.std.ruleengine.utils;import java.io.File;import java.util.ArrayList;import java.util.List;import org.apache.commons.lang.StringUtils;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.beans.fact.原创 2021-10-18 17:07:41 · 919 阅读 · 0 评论 -
Flink教程(11) KeyedProcessFunction的使用
一、前言KeyedProcessFunction是用来处理KeyedStream的。每有一个数据进入算子,则会触发一次processElement()的处理。它还提供了计时器的功能,在特定场景下,非常适合。二、结构KeyedProcessFunction继承AbstractRichFunction,它和ProcessFunction类似,都有processElement()、onTimer(),且都是富函数,自然有open()和close()方法。1. processElement转载 2021-10-15 17:18:30 · 3063 阅读 · 1 评论 -
Flink 配置文件详解
这两天正好在看现在比较火的大数据流处理框架flink,熟悉了flink的搭建过程,还是比较简单的,于是便了解了一下flink的配置文件安装目录下主要有 flink-conf.yaml 配置、日志的配置文件、zk 配置、Flink SQL Client 配置。1、flink-conf.yaml (1)、基础配置 # jobManager 的IP地址 jobmanager.rpc.address: localhost # JobManager 的端口号 j...转载 2021-10-15 17:08:40 · 3998 阅读 · 0 评论 -
Flink-ProcessFunction API(底层API)的简介,KeyedProcessFunction实例、TimerService 和 定时器(Timers)及监控10秒内持续上升温度应用
ProcessFunction API(底层API) 一般得转换算子是无法访问事件的时间戳信息和水位线信息的。而这在一些应用场景下,极为重要。例如MapFunction这样的map转换算子就无法访问时间戳或者当前事件的事件时间。 基于此,DataStream API提供了一系列的Low-Level转换算子。可以访问时间戳、watermark以及注册定时事件。还可以输出特定的一些事件,例如超时事件等。Process Function用来构建事件驱动的应用以及实现自定义的业务逻辑(使用之前的w...转载 2021-10-15 16:34:21 · 273 阅读 · 0 评论 -
大数据阶段四(Flink)面试题库
1、什么是Flink?Flink项目的理念是:Apache Flink是为分布式、高性能、随时可用以及准确的流处理应用程序打造的开源流处理框架。Apache Flink是一个框架和分布式处理引擎,用于对无界和有界数据流进行有状态计算。Flink被设计在所有常见的集群环境中运行,以内存执行速度和任意规模来执行计算。Flink能够提供毫秒级别的延迟,同时保证了数据处理的低延迟、高吞吐和结果的正确性,还提供了丰富的时间类型和窗口计算、Exactly-once(就一次)语义支持,另外还可以进行状态管理,转载 2021-10-15 13:51:02 · 793 阅读 · 0 评论 -
flink demo
main:package com;import org.apache.flink.api.java.tuple.Tuple2;import org.apache.flink.streaming.api.datastream.DataStreamSource;import org.apache.flink.streaming.api.datastream.SingleOutputStreamOperator;import org.apache.flink.streaming.api.envir原创 2021-10-14 17:01:59 · 3037 阅读 · 0 评论 -
flink启动命令分析
flink启动命令分析1. flink启动命令的固定格式./flink <ACTION> [OPTIONS] [ARGUMENTS]2 <ACTION>种类run 编译和运行一个程序。 run-application 在应用模式下运行一个应用程序 info 显示程序的优化执行计划(JSON)。 list 列出正在运行的和计划中的程序。 stop 用一个保存点停止一个正在运行的程序(只限于流式工作)。 cancel 取消一个正在运行的程序 savepoi转载 2021-10-14 09:00:10 · 3327 阅读 · 0 评论 -
Apache Kafka 连接器
Flink 提供了Apache Kafka连接器,用于从 Kafka topic 中读取或者向其中写入数据,可提供精确一次的处理语义。依赖#Apache Flink 集成了通用的 Kafka 连接器,它会尽力与 Kafka client 的最新版本保持同步。该连接器使用的 Kafka client 版本可能会在 Flink 版本之间发生变化。 当前 Kafka client 向后兼容 0.10.0 或更高版本的 Kafka broker。 有关 Kafka 兼容性的更多细节,请参考Kaf...转载 2021-10-13 15:49:33 · 485 阅读 · 0 评论 -
Flink常用操作命令
1.基于Yarn模式提交任务使用平台jar包测试:./bin/flink run -m yarn-cluster -p 2 ./examples/batch/WordCount.jar \--input hdfs:///user/wupq/words.txt \--output hdfs:///user/wupq/output2/2020122301提交自己编写代码:./bin/flink run -m yarn-cluster转载 2021-10-12 10:41:36 · 4170 阅读 · 0 评论 -
Flink 使用 Kafka Source & Kafka Sink
FlinkKafkaConnector该连接器提供对Apache Kafka服务的事件流的访问。Flink提供了特殊的Kafka连接器,用于从Kafka主题读写数据。 Flink Kafka Consumer与Flink的检查点机制集成在一起,以提供有且仅有一次的语义。为此,Flink不仅仅依赖于Kafka的消费者群体偏移量跟踪,还内部跟踪和检查这些偏移量。开发流程接一下以一个示例配置来介绍一下Flink如何以读取Kafka,并且再写入到一个新的Topic中1. 依赖kafkap.转载 2021-09-29 14:41:49 · 1303 阅读 · 0 评论 -
Flink从入门到入土(详细教程)
和其他所有的计算框架一样,flink也有一些基础的开发步骤以及基础,核心的API,从开发步骤的角度来讲,主要分为四大部分1.EnvironmentFlink Job在提交执行计算时,需要首先建立和Flink框架之间的联系,也就指的是当前的flink运行环境,只有获取了环境信息,才能将task调度到不同的taskManager执行。而这个环境对象的获取方式相对比较简单// 批处理环境val env = ExecutionEnvironment.getExecutionEnvironme转载 2021-09-28 16:44:09 · 1022 阅读 · 0 评论 -
01 在CentOS7中安装flink
数据分两类,一类是静态处理,多做批量处理,属于OLAP,一类是流式数据,多做实时处理,属于OLTP。Spark Streaming属于微批处理,并非真正意义上的实时处理。本节将介绍一个顶级的流处理框架Flink。1 系统、软件以及前提约束CentOS 7 64 工作站 作者的机子ip是192.168.100.200,请读者根据自己实际情况设置 jdk1.8已经安装并配置环境变量03-linux下jdk的安装 - 简书 scala已完成安装01 在CentOS7当中安装spark - 简书 fl转载 2021-09-28 14:56:45 · 825 阅读 · 0 评论 -
flink-Accumulator(累加器)
概念Accumulator(累加器):累加器主要作用在用户操作(operate)中收集分布式统计信息或聚合信息。每个并行实例创建并更新其自己的累加器对象,不同并行实例的累加器由系统作业结束后合并。结果可以从作业执行的结果中获得,也可以从web运行时监视器中获得。分类IntCounter LongCounter DoubleCounter Histogram 自定义(实现Simp...转载 2020-01-10 16:19:09 · 896 阅读 · 0 评论 -
Flink 的广播变量
Flink 支持广播变量,就是将数据广播到具体的 taskmanager 上,数据存储在内存中,这样可以减缓大量的 shuffle 操作;比如在数据 join 阶段,不可避免的就是大量的 shuffle 操作,我们可以把其中一个 dataSet 广播出去,一直加载到 taskManager 的内存中,可以直接在内存中拿数据,避免了大量的 shuffle,导致集群性能下降;广播变量创建后,它...原创 2020-01-10 16:02:31 · 689 阅读 · 0 评论 -
Flink 并行度详解
TaskManager与Slot介绍 Flink的每个TaskManager为集群提供solt。 solt的数量通常与每个TaskManager节点的可用CPU内核数成比例。一般情况下你的slot数是你每个节点的cpu的核数。并行度(Parallel) 一个Flink程序由多个任务组成(source、transformation和 sink)。 一个任务由多个...转载 2020-01-10 14:37:29 · 3261 阅读 · 0 评论 -
flink教程
flink教程地址https://flink.sojb.cn/tutorials/local_setup.html在 Windows 上安装和运行 Flinkhttps://www.liujiajia.me/2019/9/4/install-and-run-flink-on-windowsflink实例-wordcount详细步骤https://www.cnblogs.com/...原创 2019-12-31 15:42:29 · 290 阅读 · 0 评论