摘要:
一、Runnable Runnable非常简单,只需要实现一个run方法即可,没有参数,也没有返回值。可以以new Thread的方式去运行,当然更好的方式在放到excutorPool中去运行。 二、Callabe和Future Callable也用来实现异步调用,但是可以返回参数,并可以抛出异常。 阅读全文
摘要:
需求: 目前的程序中都是基于log4j来实现日志的管理,想要获取日志中的一部分消息,展示给用户。 约束: 由于程序中除了自己开发的代码,还会有层层依赖的第三方jar中的日志输出。需要展示给用户的消息,也有部分包括在第三方的包中。不可能去修改第三方jar来获得消息,所以只能从Log4j本身的消息入手, 阅读全文
摘要:
通常我们在编写一个flink的作业的时候,肯定会有依赖的jar包。flink官方希望你将所有的依赖和业务逻辑打成一个fat jar,这样方便提交,因为flink认为你应该对自己的业务逻辑做好单元测试,而不应该把这部分测试工作频繁提交到集群去做。但事实是我们往往不愿意打一个fat jar,我们希望将业 阅读全文
摘要:
1.总览 savepoints是外部存储的自包含的checkpoints,可以用来stop and resume,或者程序升级。savepoints利用checkpointing机制来创建流式作业的状态的完整快照(非增量快照),将checkpoint的数据和元数据都写入到一个外部文件系统。 如何触发 阅读全文
摘要:
1.前言 在Flink中,函数和操作符都可以是有状态的。在处理每个消息或者元素时,有状态的函数都会储存信息,使得状态成为精密操作中关键的组成部分。 为了使状态能够容错,Flink会checkpoints状态。checkpoints机制使得Flink可以恢复状态和位置,以至于流计算的应用可以提供无故障 阅读全文
摘要:
流计算中可能有各种方式来保存状态: 窗口操作 使用 了KV操作的函数 继承了CheckpointedFunction的函数 当开始做checkpointing的时候,状态会被持久化到checkpoints里来规避数据丢失和状态恢复。选择的状态存储策略不同,会导致状态持久化如何和checkpoints 阅读全文
摘要:
1.什么是状态 对于任何一个操作,都可以被看成是一个函数,比如y=f(x),如果对于同一个x的任何一次输入,得到的y都是相同的,则可以认为这个函数是无状态,否则,这个函数就是有状态的。Flink的一大特点就在于对状态的支持。 2.Keyed State和Operator State Keyed St 阅读全文
摘要:
给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url? 方案1:可以估计每个文件安的大小为5G×64=320G,远远大于内存限制的4G。所以不可能将其完全加载到内存中处理。考虑采取分而治之的方法。 遍历文件a,对每个url求取hash(ur 阅读全文
摘要:
history job的写入1. org.apache.flink.runtime.jobmanager,Object JobManagerrunJobManager中指定使用MemoryArchivist进行作业保存startJobManagerActors中创建了进行作业保存的actor此arc 阅读全文
摘要:
有一个项目,混合了java和go,需要在intellij中安装go的插件。 OK,网上的信息简直混乱不堪,两个流派,一个流派就是装插件,一个流派就是编译插件,各种折腾,还是安装不了,谁知柳暗花明又一村,希望这里能说的明白一点,如果你也有同样的需求,也刚好幸运的看到了这里,恭喜你。 1.安装GO。 这 阅读全文