7 二十六画生的博客

尚未进行身份认证

我要认证

坚持,让梦想闪耀! 坚持,让梦想闪耀!

等级
TA的排名 502

Flink DataSet partitionByRange sortPartition 用法 实例

package DataSetPartitionTest1;import org.apache.flink.api.common.functions.MapFunction;import org.apache.flink.api.common.operators.Order;import org.apache.flink.api.java.DataSet;import org.apache.flink.api.java.ExecutionEnvironment;import org.apach.

2020-07-04 12:15:24

Flink DataSet first groupBy sortGroup 用法 实例

public class CoGroupDataSetTest { public static void main(String[] args) throws Exception { ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment(); //注意:可启用这行代码看区别 //env.setParallelism(1); DataSet&..

2020-07-04 12:11:56

flink sql实例, TableException: Create BatchTableEnvironment failed.报错

package SQL;import org.apache.flink.api.java.DataSet;import org.apache.flink.api.java.ExecutionEnvironment;import org.apache.flink.api.java.tuple.Tuple2;import org.apache.flink.table.api.Table;import org.apache.flink.table.api.TableConfig;import or.

2020-07-01 23:00:38

hive,order by ,distribute by ,sort by ,cluster by 区别,作用,用法

0 order by 是全局有序。sort by是在一个reduce中排序,该reduce的输出有序,是局部有序。distriute by c1 是作用于map输出的结果,把c1的值相同的记录输入到同一个reduce中;如果reduce数目比较少,c1多个不同值的记录会输入到同一个reduce中。1distribute by要写在sort by前面,不然报错2distribute by c1,c2sort by c1,c2 = cluster by c1,c2 ,注意distribute by...

2020-06-29 22:44:22

Flink ClassNotFoundException BatchTableEnvironmentImpl 报错 解决方法

Exception in thread "main" org.apache.flink.table.api.TableException: Create BatchTableEnvironment failed. at org.apache.flink.table.api.java.BatchTableEnvironment.create(BatchTableEnvironment.java:338) at org.apache.flink.table.api.java.BatchTable...

2020-06-27 18:26:10

Flink 三种状态存储方式 MemoryStateBackend、FsStateBackend、RocksDBStateBackend

StateBackend的意思是状态后端。状态后端定义了流式应用程序状态如何存储和checkpoint的。不同的状态后端以不同的方式来存储其状态,并且使用不同的数据结构来保存正在运行的应用程序的状态。MemoryStateBackend:1 基于内存的状态管理器,聚合类算子的状态会存储在JobManager的内存中2 单次状态大小默认最大被限制为5MB,可以通过构造函数来指定状态初始化内存大小。无论单次状态大小最大被限制为多少,都不可大于akka的frame大小(1.5MB,JobMa.

2020-06-26 21:00:58

Flink Operator State 实例 实现ListCheckpointed

public interface ListCheckpointed<T extends Serializable> { // Checkpoint时会调用这个方法,我们要实现具体的snapshot逻辑,比如将哪些本地状态持久化 List<T> snapshotState(long checkpointId, long timestamp) throws Exception; // 从上次Checkpoint中恢复数据到本地内存 void restoreState(L.

2020-06-25 18:37:07

Flink Operator State 实例 实现CheckpointedFunction

public interface CheckpointedFunction { // Checkpoint时会调用这个方法,我们要实现具体的snapshot逻辑,比如将哪些本地状态持久化 void snapshotState(FunctionSnapshotContext context) throws Exception; // 初始化时会调用这个方法,向本地状态中填充数据 void initializeState(FunctionInitializationContext con.

2020-06-25 18:31:27

Flink Keyed State ,Operator State 作用 区别 用法

看了那么多文章,说的模糊,很多都是直接翻译的!!!!加上自己的理解,写一篇。为什么需要State?作用是什么?1 保存中间结果,实现某些功能2 方便保存到检查点中,便于从检查点恢复区别一个算子的并行度是多少,就有多少个子任务。如果不同的key比较多,该算子的并行度低,那么一个子任务会处理多个key流。Keyed State 与key相关,Operator State与key无关。实现Operator State,需要手动实现CheckpointedFuncti...

2020-06-25 18:10:39

Flink Keyed State 实例

1 sourceStream必须要先keyBy然后才能使用Keyed State2 需要继承RichxxxxFunction才行,在open之前声明,在open中初始化,在算子方法中使用和处理。不能继承xxxxxFunction,因为没有open方法,无法初始化,会报错。3 open方法中只能初始化Keyed State,无法使用Keyed State(比如:获取值等操作),不然报错。因为open方法不属于Keyed上下文,算子方法才属于Keyed上下文并行度是1:package Stat

2020-06-25 17:54:20

Flink 累加器 实例

每个并行的任务实例下有各自的累加器,获取最终值时会把各个并行任务的累加器的值求和。(一个并行度对应一个累加器)map并行度1:

2020-06-25 12:57:35

Flink 分布式缓存 广播变量 区别

区别:1.广播变量是基于内存的,是将变量分发到各个worker节点的内存上(避免多次复制,节省内存)2.分布式缓存是基于磁盘的,将文件copy到各个节点上,当函数运行时可以在本地文件系统检索该文件(避免多次复制,提高执行效率)分布式缓存:Flink提供了一个分布式缓存,类似于hadoop,可以使用户在并行函数中很方便的读取本地文件,并把它放在taskmanager节点中,防止task重复拉取。此缓存的工作机制如下:程序注册一个文件或者目录(本地或者远程文件系统,例如hdfs或者s3).

2020-06-25 12:16:08

Flink 广播变量 实例

版本: flink1.9.2,java1.8。广播变量用于DataSet,不能用于DataStreampackage BroadCast;import org.apache.flink.api.common.functions.RichMapFunction;import org.apache.flink.api.java.DataSet;import org.apache.flink.api.java.ExecutionEnvironment;import org.apache.flink

2020-06-24 21:50:58

Flink 分布式缓存 实例

版本: flink1.9.2,java1.8package DistributedCache;import org.apache.commons.io.FileUtils;import org.apache.flink.api.common.functions.RichMapFunction;import org.apache.flink.configuration.Configuration;import org.apache.flink.streaming.api.datastream.

2020-06-24 21:47:00

Flink 水位线机制WaterMark实践 处理乱序消息

1 水位线(WaterMark)是一个时间戳,等于当前到达的消息最大时间戳减去配置的延迟时间,水位线是单调递增的,如果有晚到达的早消息也不会更新水位线,因为消息最大时间戳没变2 新消息到达时,才计算新的水位线,如果水位线大于等于窗口的endTime(左闭右开)则触发窗口计算,反之继续接收后续消息;消息的EventTime大于等于窗口beginTime则保留,反之被丢弃3消息的EventTime小于水位线时不一定被丢弃;消息的EventTime小于窗口beginTime时才会被丢弃4 与wind.

2020-06-20 19:30:33

Mac 使用 nc -l 9000 和 telnet 127.0.0.1 9000 发送信息

终端1 :nc -l 9000(服务端)终端2 :telnet 127.0.0.1 9000(客户端)这二个终端就可以相互通信注: mac os 10.13后就没有内置telnet函数,要新安装:brewinstall telnet这2个终端可以互相把消息发给对方。如果一方关闭或退出后,另一方也会退出。...

2020-06-20 17:53:15

hive add jar报错 does not exist 不要带引号

不要带单引号!!hive> add jar '/abc/def.jar'; -- 报错'/abc/def.jar' does not existQuery returned non-zero code: 1, cause: '/abc/def.jar' does not existhive> add jar /abc/def.jar; -- 正确Added [/abc/def.jar] to class pathAdded resources: [/abc/def.jar...

2020-06-20 10:36:42

Mac 安装jd-gui 反编译jar

1使用brew安装 ,打开终端窗口,输入下面命令brew cask install jd-gui2选中jar,在打开方式中选择jd-gui,报错:MacOs 无法打开xxx ,因为无法验证开发者禁用掉就好了sudo spctl --master-disable...

2020-06-19 12:17:54

Flink reduce与fold 相同点和不同点(区别)

相同点:1 均是对相同类型的元素进行合并2 均是把组内的所有元素合并成一个值不同点:1 reduce是组内的2个元素合并成一个同类型的新元素;fold是组内的每个元素与累加器(一开始是初始值initialValue)合并再返回累加器,累加器的类型可以与组内的元素类型不一致;2 reduce可以用于DataStream或DataSet,但是fold只能用于DataStream。Flink reduce 作用 实例Flink fold算子 实例 (所有订单的分类汇总信息)以下是源

2020-06-18 19:53:04

Flink fold算子 实例 (所有订单的分类汇总信息)

需求本篇文章,我们使用fold函数每次来统一输出当前所有订单的分类汇总信息。解决方案package fold;import org.apache.flink.api.common.functions.FoldFunction;import org.apache.flink.api.java.functions.KeySelector;import org.apache.flink.api.java.tuple.Tuple2;import org.apache.flink.stream

2020-06-15 10:41:44

查看更多

勋章 我的勋章
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。