实战-flink实战
文章平均质量分 58
通过例子讲解:flink的编程和各种API的使用。
对flink的原理进行分析。
一 铭
公众号:大数据架构师修行之路
展开
-
如何解决Flink任务的数据倾斜
如何解决flink任务的数据倾斜问题原创 2023-05-20 09:43:22 · 2104 阅读 · 0 评论 -
Flink实战--多流合并
本文介绍Flink的流合并操作。在Flink中,流的合并操作算子有:Union和Connect等。本文主要介绍这个两个算子的使用方法原创 2022-05-29 18:02:02 · 4445 阅读 · 0 评论 -
Flink实战-旁路输出(SideOutput)的使用
旁路输出是在不复制数据流的情况下。把一个数据流分割成多个流,并且不同的流进行不同的处理。通过这种方式来同一个流进行不同的处理非常方便,也是非常常用的一种流处理策略。原创 2022-03-28 08:28:47 · 3670 阅读 · 0 评论 -
Flink实战--异步IO实战入门(和Redis交互)
本文通过一个例子来说明Flink异步IO的使用。在该例子中还说明了和Redis的交互。原创 2022-03-09 10:08:57 · 3733 阅读 · 0 评论 -
流环境通过TableAPI把数据写入mysql
前面的文章介绍了Table的基本概念,并介绍了如何在流环境下创建Table,本文介绍如何通过Table API来操作和保存数据。Connector可以让Flink连接到外部存储系统,并对其进行读和写入数据的操作。说明版本flink版本:flink-1.11.2依赖包mysql-connector-java-8.0.22.jarflink-connector-jdbc_2.11-1.11.2.jarflink-table-api-scala-bridge_2.11-1.10.2.jar原创 2020-11-12 16:55:05 · 632 阅读 · 0 评论 -
流环境Table API的使用基础
Flink的Table API在批和流环境下都有对应的类可以使用,本文主要介绍流环境(StreamExecutionEnvironment)下的Table API的使用。本文只是一个使用的入门,所以会在本地单机环境下进行操作。表的基本概念临时表和永久表表可以是临时的,并与单个 Flink 会话(session)的生命周期相关,也可以是永久的,并且在多个 Flink 会话和群集(cluster)中可见。永久表需要 catalog(例如 Hive Metastore)以维护表的元数据。一旦永久表被创建原创 2020-11-12 16:54:01 · 630 阅读 · 0 评论 -
flink实战--通过例子学习DataStream API(1)
环境准备进入flink运行目录,启动flink的本地环境:./bin/start-scala-shell.sh local此时会得到两个创建好的环境,一个是批处理环境,通过benv来使用;一个是流处理环境,通过senv或stenv来使用。准备数据输入环境打开一个终端,输入以下命令:nc -lk 10001>接收数据的环境我们使用socketTextStream输入流来输入数据:val ds = senv.socketTextStream("localhost", 10001,原创 2020-11-04 16:35:10 · 539 阅读 · 0 评论 -
通过Flink YARN Session来运行任务
通过Flink YARN Session来运行任务本文先介绍Flink YARN Session的基本概念,并介绍如何启动Flink Session,并通过它来运行任务。简介Apache Hadoop YARN是一个集群资源管理框架。可以在它之上运行各种分布式应用。在其他应用运行时,Flink也可以运行在其上。在Flink YARN Session启动时会按配置或参数来申请资源,并会启动Flink的基础服务:JobManager和TaskManagers。这样,就可以向它提交Flink应用了;每个s原创 2020-10-11 18:12:16 · 4760 阅读 · 0 评论 -
把Flink任务运行在yarn上
把Flink应用运行在yarn上本文讲述如何在yarn集群上部署和运行flink应用。部署图flink支持在yarn集群上行运行,通过yarn来分配资源。如图1所示,flink on yarn的模式和spark on yarn模式相似。在运行flink应用前,必须要先安装并运行hadoop+yarn集群。而flink应用部署在一台能够和hadoop(yarn)集群联通的客户机上。图1 Flink on Yarn部署图配置Flink应用运行环境配置配置hadoop和yarn客户端环境下载安原创 2020-09-29 17:38:23 · 2607 阅读 · 0 评论 -
flink实战—Watermarks的原理和应用
概述本文介绍flink的一个重要特性:水印(Watermarks)的原理,并通过实际的例子说明如何使用该特性。环境:flink-1.7.1水印(Watermarks)简介我们看到对事件时间(Event Time)的支持是流体系结构的核心。当计算基于事件时间时,我们如何知道所有事件是否已经全部到达,我们是否可以计算并输出窗口的结果?换句话说,我们如何跟踪事件时间并知道输入流中已达到某个事件时...原创 2019-02-19 08:28:35 · 1647 阅读 · 0 评论 -
flink实战—时间窗口(Time Windows)的原理和使用
概述flink中支持多种窗口,包括:时间窗口,session窗口,count窗口等,本文简单介绍这些窗口的原理,并通过例子说明如何使用这些窗口。时间窗口(Time Windows)最简单常用的窗口形式是基于时间的窗口,flink支持两种时间窗口:一种是翻滚时间窗口(tumbling time window)一种是滑动时间窗口(sliding time window)翻滚时间窗口(t...原创 2019-02-18 07:21:10 · 33435 阅读 · 4 评论 -
flink实战—编写流处理任务:入门
概述本文讲述如何通过flink的scala接口来编写流处理任务。通过本文的描述,就可以通过简介的scala语言编写更加强大的流处理任务了。环境准备IntelliJ IDEAscala-2.11创建一个maven工程在IDEA中创建一个maven工程,取一个名称:StreamingWordCount。步骤如下:点击IDEA的"Create New Project",在下一个步骤选...原创 2019-02-13 10:40:59 · 2351 阅读 · 0 评论 -
flink原理分析--基本组成
概述本文是一篇翻译文章,原文在这里。本文从软件设计层面介绍了flink的模块划分和组成。flink的基本组成作为软件堆栈,Flink是一个分层系统。堆栈的不同层构建在彼此之上,并提高它们接受的程序表示的抽象级别:运行层(runtime layer)以JobGraph的形式接收程序。JobGraph是一个通用的并行数据流,具有消费和产生数据流的任意任务。DataStream API和D...翻译 2019-02-10 21:53:42 · 822 阅读 · 0 评论 -
flink原理分析—作业和调度(Jobs and Scheduling)
概述本文档简要介绍Flink如何进行作业调度,及其如何表示和跟踪JobManager上的作业状态。注意:本文flink官方的一篇文档的翻译,原文链接在这里。调度(Scheduling)Flink中的执行资源通过任务槽(Task Slots)来定义。每个TaskManager都有一个或多个任务槽,每个槽都可以运行一个并行任务管道(pipeline of parallel tasks)。管道由...翻译 2019-02-10 21:04:30 · 2157 阅读 · 1 评论 -
flink实战—通过例子学习DataSet API:DataSet转换算子(DataSet Transformations)-1
概述本文讲述各个DataSet 转换算子的使用。并通过实际的例子对其功能进行了说明。说明:本来想通过一篇文章来讲述所有的transformtion算子,但由于篇幅和时间,只能能分成几篇进行介绍。基本概念数据转换(Data transformations)将一个或多个DataSet转换为新的DataSet。程序可以将多个转换组合成复杂的程序集。测试数据集说明假设我们有一个数据集,是鸡尾花...原创 2019-01-26 10:34:46 · 1417 阅读 · 0 评论 -
flink实战—通过例子学习DataSet API:入门
概述本文介绍如何使用flink的DataSet API,也就是Batch处理的API的使用。这种API是基于有界数据流的假设基础上创建的。基本概念DataSet API是基于有界数据流的操作算子。而Streaming API是基于无界数据流的操作算子。环境说明为了能够更好的进行实际操作,我基于scala的终端和flink的集成环境来介绍这些API的使用,这样能够及时看到算子运算的结果。...原创 2019-01-23 10:11:29 · 1084 阅读 · 0 评论 -
flink实战--数据流编程模型(Dataflow Programming Model)
概述本文讲述flink的数据流编程模型,通过本文的讲述可以对flink的编程模型有一个清楚的认识,便于在编写flink程序时,进行选择使用。另外,本文是一篇翻译文章,来自于flink的官方文档。见参考文献。译者注:本文介绍了flink对外提供的不同层次的编程接口,和spark类似,flink对外提供了三种层次的编程接口:core API,Table API,SQL。core API:提供...翻译 2019-01-23 07:22:13 · 917 阅读 · 0 评论 -
flink实战—使用shell终端(local模式)
概述本文讲述如何使用flink的scala-shell终端程序,通过该脚本可以快速上手flink,并可以对简单的flink任务进行调试和测试。类似于spark的shell终端。本文讲述的是本地模式下的使用。启动flink的scala-shellFlink附带了一个集成的交互式Scala Shell。它可以在本地模式和群集模式中使用。要将shell与集成的Flink集群一起使用,只需执行:...原创 2019-01-21 12:51:36 · 3741 阅读 · 2 评论 -
flink实战—安装与使用
概述flink分为三种模式运行:local,cluster,基于cloud的运行。本文描述了flink在local模式下的安装与使用。环境介绍系统Centos-7.0 x64安装下载并安装首先下载并安装java$ java -versionjava version "1.8.0_92"Java(TM) SE Runtime Environment (build 1....原创 2019-01-20 21:58:51 · 1635 阅读 · 0 评论