摘要:
Flink Uid设计剖析 首先我们先了解一下flink 是如何将应用状态映射到数据集的 一个flink job通常由一个或多个source operators、一些处理计算的operators、和一个或者多个sink oper组成。每个operators在一个或者多个task中并行运行,并且使用不 阅读全文
摘要:
ThreadLocal 每个线程的变量副本是存储在哪里的 ThreadLocal(线程局部变量) 在线程之间共享变量是存在风险的,有时可能要避免共享变量,使用ThreadLocal辅助类为各个线程提供各自的实例。 如果加锁,那么会开销很大 实现原理: ThreadLocal的get方法就是从当前线程 阅读全文
摘要:
java基础类型 整形:int,long,short,byte 浮点型:double,float 布尔类型:boolean 字符类型:char int 4个字节 long 8个字节 short 2个字节 byte 1个字节 double 8个字节 float 4个字节 boolean 1个bit, 阅读全文
摘要:
Bundled Examples Flink 不同的api详细例子 DataStream applications ( "Java" / "Scala" ) DataSet applications ( "Java" / "Scala" ) Table API / SQL queries ( "Ja 阅读全文
摘要:
下载并启动flink 运行flink,唯一的前置要求是就是安装了java8。 可以本地查看命令: 如果是安装了java8,则输出的命令则类似于: 对于mac系统,可以通过Homebrew来安装 启动本地的flink集群 你可以检查 http://localhost:8081,是否有页面正常可以访问。 阅读全文
摘要:
设置一个maven项目 使用maven 创建一个flink项目,使用下面命令: 可以根据需要编辑groupid artifactId 和 package,目录项目结构如下: 这是项目已经创建了一些样例代码,我们可以直接删除这些样例代码结构在src/main/java 最后我们需要添加一些我们程序需要 阅读全文
摘要:
目的:根据条件 输出指定条件的文件 例如: awk输出文件名长度为32 的文件 ls | awk F ':' '{ if(length($0) == 32) {print $0} }' 在结合 rm 去删除上面的文件夹 ls | awk F ':' '{ if(length($0) == 32) { 阅读全文
摘要:
使用Akka,所有远程过程调用现在都实现为异步消息。 这主要影响JobManager,TaskManager和JobClient的组件。 将来,甚至可能会将更多的组件转换为参与者,从而允许它们发送和处理异步消息。 Akka and the Actor Model Akka是开发并发,容错和可扩展应用 阅读全文
摘要:
状态如何保存和恢复 1.定时制作分布式快照,对程序中的状态进行备份 2.发生故障时: 将整个作业中所有的task都回滚到最后一次成功的checkpoint中的状态,然后从那个点开始执行; 3.必要条件:数据支持重发的 4.一致性语句:恰好一次, 至少一次 checkpoint执行机制 1.check 阅读全文
摘要:
抽象层次 flink提供不同级别的抽象来开发流/批处理应用程序。 最低级抽象只提供有状态流。它通过 Process Function嵌入到DataStream中。它允许用户自由处理来自一个或多个流的事件,并使用一致的容错状态。此外,用户可以注册事件时间和处理时间回调,允许程序实现复杂的计算。 实际上 阅读全文