大数据计算框架 - Flink
李思净
这个作者很懒,什么都没留下…
展开
-
Flink-DataStream 窗口
窗口 window窗口是将(有界或无界)数据拆分成一个个有限长度数据区间的机制,即在数据集中增加临时处理边界,用于将事件按照时间或其他特征分组分析,其中临时这个定语说明窗口并没有物理地改变数据集。滚动窗口:将时间拆分成固定长度。滑动窗口:按照滑动步长将时间拆分成固定长度。会话窗口:以活动时间间隔为边界,将一系列连续时间拆分到不同的会话中。...原创 2019-07-29 10:21:20 · 882 阅读 · 0 评论 -
Flink DataSet API - Itreation
Itreation迭代Iterate Operator示例:用蒙特卡罗方法计算π示例:递增数字Delta Iterate Operator示例:连通体最小传播值迭代迭代算法出现在数据分析的许多领域,如机器学习或图分析。这些算法对于实现大数据从数据中提取有意义信息的承诺至关重要。随着人们越来越有兴趣将这些算法在非常大的数据集上运行,则需要以大规模并行的方式执行迭代。Flink通过定义一个迭代函...原创 2019-07-31 16:08:12 · 282 阅读 · 0 评论 -
Flink DataStream API - Transformations
Map:DataStream → DataStream新DataStream中的元素与原DataStream中的元素存在一对一的关系。import org.apache.flink.api.common.functions.MapFunction;import org.apache.flink.streaming.api.datastream.DataStream;import org.a...原创 2019-07-26 15:31:22 · 227 阅读 · 0 评论 -
Flink DataStream API - Sink 结果输出
打印至控制台// 获取运行环境StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();// 获取数据源DataStream<String> text = env.socketTextStream("IP", port, "\n");...省略中间算子处理.....原创 2019-07-26 14:15:08 · 6183 阅读 · 0 评论 -
Flink DataStream API - Data Source获取数据源
基于文件获取数据源在底层,Flink将文件读取过程分成两个子任务,即目录监视和数据读取。每个子任务都由一个单独的实体实现。监视由单个非并行(parallelism = 1)任务实现,而读取由多个并行运行的任务执行。后者的并行性等于作业并行性。单个监视任务的作用是扫描目录(定期或仅扫描一次,这取决于watchType),找到要处理的文件,将它们分成几部分,并将这些部分分配给下游的读取器。读取器将...原创 2019-07-26 11:36:32 · 1831 阅读 · 0 评论 -
Flink DataSet API - Transformations
DataSet API - Transformations数据转换MapFlatMapMapPartitionFilterSortPartitionReduceAggregate作用于分组上作用于整个DataSet上minBy/maxBy作用于分组上作用于整个DataSet上GroupReduceDistinctJoin笛卡儿积Union数据分区广播变量文件缓存容错数据转换数据转是换将一个或多...原创 2019-07-31 11:17:42 · 1226 阅读 · 0 评论 -
Flink分布式运行环境
运行时结构Task线程线程是程序运行时的最小单元,是进程中的一个实体,是被系统独立调度的基本单位,同属一个进程的所有线程共享进程所拥有的全部资源。Flink的每个Operator称为一个任务(task),Operator的每个实例称为子任务,每个任务(Task)(包括子任务)在一个JVM线程中执行,可以将多个子任务链接成一个任务,在一个线程中执行,这会降低线程上下文切换产生的开销,减小缓存容...原创 2019-07-26 11:12:19 · 209 阅读 · 0 评论 -
Flink数据流编程模型
抽象层次Flink提供不同级别的抽象来开发流处理应用程序和批处理应用程序。最低级抽象只提供有状态流。它 通过Process Function嵌入到DataStream API中。它允许用户自由处理来自一个或多个流的事件,并使用一致的容错状态。此外,用户可以注册事件时间和处理时间回调,允许程序实现复杂的计算。在实践中,大多数应用程序不需要上述低级抽象,而是针对Core API编程, 如D...原创 2019-07-26 09:39:46 · 233 阅读 · 0 评论 -
Flink单机模式安装
Linux运行环境搭建一个单机版Flink运行环境下载Flink程序包:flink-1.8.1-bin-scala_2.11.tgz部署在Linux服务器上,然后以单机模式运行# cd flink# tar xzf flink-1.8.1-bin-scala_2.11.tgz# cd flink-1.8.1# ./bin/start-cluster.sh启动成功后,浏览器访问...原创 2019-07-25 16:29:04 · 4410 阅读 · 0 评论 -
Flink DataStream API - Connector(连接器)
连接器Source和Sink节点连接外部数据源的组件称为连接器(Connector),其中内置连接器的实现代码集成在Flink源码中,但是这些代码并没有被编译进Flink二进制程序包中。内置连接器如下,其中括号里描述的是支持Source还是Sink。Apache Kafka (source/sink)Apache Cassandra (sink)Amazon Kinesis Stream...原创 2019-07-30 15:37:08 · 1084 阅读 · 0 评论 -
Flink导览
Source时间处理算子窗口原创 2019-07-29 15:58:08 · 73 阅读 · 0 评论 -
Flink DataStream API - Watermark
时间Flink 在流处理API中支持不同的时间概念:事件时间(Event Time)每个事件在其生产设备上产生时的时间。通常由数据源产生,在进入Flink之前嵌入记录中。进入时间(Ingestion Time)事件进入Flink的时间。窗口处理时间(Window Processing Time)取自执行Operator的机器的系统时间。设定时间特征Flink DataStream...原创 2019-07-29 15:56:19 · 398 阅读 · 0 评论 -
Flink - 关系型API
关系型API关系型API为什么需要关系型API?Calcite关系API概述程序结构获取运行时获取Table运行时表注册输入表注册输出表注册TableSource和TableSinkTableSourceTableSink定义查询相互转换Table APISQL关系型API为什么需要关系型API?DataStream或DataSet需要开发任意掌握Java或Scala语言,并精通两套API...原创 2019-08-01 10:48:46 · 249 阅读 · 0 评论