08 2018 档案

摘要:Window: 在Streaming中,数据是无限且连续的,我们不可能等所有数据都到才进行处理,我们可以来一个就处理一下,但是有时我们需要做一些聚合类的处理,例如:在过去的1分钟内有多少用户点击了我们的网页。在这种情况下,我们必须定义一个窗口,用来收集最近一分钟内的数据,并对这个窗口内的数据进行计算 阅读全文
posted @ 2018-08-23 21:02 gqb00 阅读(544) 评论(0) 推荐(0)
摘要:DataStream: DataStream 是 Flink 流处理 API 中最核心的数据结构。它代表了一个运行在多个分区上的并行流。一个 DataStream 可以从 StreamExecutionEnvironment 通过env.addSource(SourceFunction) 获得。 D 阅读全文
posted @ 2018-08-23 10:51 gqb00 阅读(3716) 评论(0) 推荐(1)
摘要:并行计算是相对于串行计算来说的。可分为时间上的并行和空间上的并行。 时间上的并行就是指流水线技术,而空间上的并行则是指用多个处理器并发的执行计算。 流水线技术: 计算机中的流水线是把一个重复的过程分解为若干个子过程,每个子过程与其他子过程并行进行。由于这种工作方式与工厂中的生产流水线十分相似, 因此 阅读全文
posted @ 2018-08-22 09:40 gqb00 阅读(590) 评论(0) 推荐(0)
摘要:JVM: JAVA本身提供了垃圾回收机制来实现内存管理 现今的GC(如Java和.NET)使用分代收集(generation collection),依照对象存活时间的长短使用不同的垃圾收集算法,以达到最好的收集性能。 以Java为例,整个Java堆可以切割成为三个部分: Young: Eden:存 阅读全文
posted @ 2018-08-20 21:32 gqb00 阅读(4112) 评论(0) 推荐(0)
摘要:1.什么是HDFS? HDFS是一个分布式的存储和管理文件的文件系统。 HDFS中的文件在物理上是分块存储,块的大小可以通过配置参数来规定。 HDFS采用master/slave架构。一个HDFS集群是由一个Namenode和一定数目的Datanodes组成。Namenode是一个中心服务器,负责管 阅读全文
posted @ 2018-08-16 17:12 gqb00 阅读(236) 评论(0) 推荐(0)
摘要:Scheduling: Flink中的执行资源通过任务槽(Task Slots)定义。每个TaskManager都有一个或多个任务槽,每个槽都可以运行一个并行任务管道(pipeline)。管道由多个连续的任务组成,例如第n个MapFunction并行实例和第n个ReduceFunction并行实例。 阅读全文
posted @ 2018-08-16 11:52 gqb00 阅读(4583) 评论(0) 推荐(0)
摘要:Apache Flink提供了一种容错机制,可以持续恢复数据流应用程序的状态。该机制确保即使出现故障,程序的状态最终也会反映来自数据流的每条记录(只有一次)。 从容错和消息处理的语义上(at least once, exactly once),Flink引入了state和checkpoint。 st 阅读全文
posted @ 2018-08-15 17:42 gqb00 阅读(1413) 评论(1) 推荐(0)
摘要:作为一个软件堆栈,Flink是一个分层的系统。堆栈的不同层构建在彼此之上,并提高程序表示的抽象级别: 在runtime层以JobGraph的形式接受一个程序。JobGraph是一个通用的并行数据流,包含有消耗和生成数据流的任意个任务。 DataStream API 和 DataSet API 通过单 阅读全文
posted @ 2018-08-15 10:58 gqb00 阅读(240) 评论(1) 推荐(0)
摘要:Flink结构: flink cli 解析本地环境配置,启动 ApplicationMaster 在 ApplicationMaster 中启动 JobManager 在 ApplicationMaster 中启动YarnFlinkResourceManager YarnFlinkResourceM 阅读全文
posted @ 2018-08-14 17:31 gqb00 阅读(4468) 评论(1) 推荐(0)
摘要:Flink DataSet API编程指南: Flink中的DataSet程序是实现数据集转换的常规程序(例如,过滤,映射,连接,分组)。数据集最初是从某些来源创建的(例如,通过读取文件或从本地集合创建)。结果通过接收器返回,接收器可以将数据写入(分布式)文件或标准输出(命令行终端)。 public 阅读全文
posted @ 2018-08-13 15:56 gqb00 阅读(975) 评论(1) 推荐(0)
摘要:综述: 在Flink中DataStream程序是在数据流上实现了转换的常规程序。 1.示范程序 2.数据源 程序从源读取输入。可以通过StreamExecutionEnvironment.addSource(sourceFunction)给程序附上源。 在StreamExecutionEnviron 阅读全文
posted @ 2018-08-06 21:53 gqb00 阅读(1372) 评论(1) 推荐(0)
摘要:Flink程序是实现分布式集合转换的常规程序。集合最初是从源创建的。通过接收器(slink)返回结果,接收器可以将数据写到某个文件或stdout。Flink可以在各种环境(context)中运行,本地JVM或集群。 1.数据集和数据流 Flink用特殊的类DataSet and DataStream 阅读全文
posted @ 2018-08-05 17:14 gqb00 阅读(2659) 评论(4) 推荐(0)
摘要:每个Flink程序都依赖于一组Flink库。 1.Flink核心和应用程序依赖项 Flink本身由一组类和运行需要的依赖组成。所有类和依赖的组合形成了Flink运行时的核心,并且当一个Flink程序运行时必须存在。 这些核心类和依赖被打包成flink-dist.jar。 为了在默认情况下避免过多的依 阅读全文
posted @ 2018-08-04 21:49 gqb00 阅读(1191) 评论(0) 推荐(0)
摘要:1.任务和操作链 下面的数据流图有5个子任务执行,因此有五个并行线程。 2.Job Managers, Task Managers, Clients Job Managers:协调分布式运行,他们安排任务,协调检查点,recovery失败等等。至少有一个Job Managers,一个做leader, 阅读全文
posted @ 2018-08-04 14:27 gqb00 阅读(314) 评论(0) 推荐(0)
摘要:1.抽象层次 Flink提供不同的抽象级别开发流/批处理应用程序。 最底层提供有状态流,嵌入到DataStream数据API函数。它允许用户自由从一个或多个流处理事件。 Table API是一种围绕表的声明性DSL,可以动态的改变表,无缝的在表和DataStream/DataSet之间转换。 2.程 阅读全文
posted @ 2018-08-03 20:33 gqb00 阅读(495) 评论(0) 推荐(0)
摘要:$flink命令位置 命令 选项 jar包位置 \ --input 输入文件位置 --out 输出文件位置 ./bin/flink run ./examples/batch/WordCount.jar 在flink目录下运行WordCount.jar ./bin/flink run -p 16 ./ 阅读全文
posted @ 2018-08-02 16:55 gqb00 阅读(7023) 评论(0) 推荐(0)