Flink
anickname
专注大数据技术
展开
-
Flink SQL自定义TableSource读取Kudu数据
本文基于Flink1.9,之前文章基于Flink1.6。在Flink的官方文档中提供了很多connector用于连接外部系统数据源。如果提供的connector不能满足需要,还可以通过自定义方式定义读取外部数据源的逻辑。本文的背景就是使用SQL查询批量数据,但是批量数据存储在kudu中,由于没有提供connector所以需要自定义读取数据逻辑。官方文档中给出了自定义批量数据读取的实现方式:...原创 2019-12-13 11:34:54 · 6320 阅读 · 0 评论 -
Apache Flink-编程指南-示例-批处理
本文将会看到图算法和简单的单词统计之间的不同,并展示了如何使用DataSet API。完整的源码可以在Flink的源码仓库中的flink-examples-batch或flink-examples-streaming中找到。运行Flink程序你需要启动先启动一个Flink集群,最简单的方式是执行./bin/start-cluster.sh,这会启动一个包含一个JobManager和一个Task...翻译 2018-11-07 15:02:56 · 1025 阅读 · 0 评论 -
Apache Flink-编程指南-概念-分布式运行环境
任务和操作链 Job Managers, Task Managers, Clients 任务槽和资源 状态后端 保存点任务和操作链在flink的分布式执行中,Flink把操作子任务链在一起形成任务。每一个任务由一个线程执行。把操作链接在一起成为任务是一个有用的优化:这样做会减少线程间的切换和缓冲的消耗,增加整体吞吐量,降低延迟。这种链接行为可以配置;查看chaining docs关于...翻译 2018-11-05 16:19:28 · 455 阅读 · 0 评论 -
Apache Flink-编程指南-快速开始
设置:下载和启动Flink 启动一个本地Flink集群 阅读代码 运行示例 下一步设置: 下载和启动FlinkFlink运行在Linux, Mac OS X, and Windows. 能够运行Flink唯一的要求是正确安装了java8.Windows用户,请看Flink on Windows指南,它描述了如何在Windows本地配置以运行Flink。通过下面命令查看java...翻译 2018-11-05 17:03:13 · 1398 阅读 · 0 评论 -
Apache Flink-编程指南-项目设置
Java项目模板前提条件:Maven3.0.4或更高,Java8使用如下命令创建Maven项目: $ mvn archetype:generate \ -DarchetypeGroupId=org.apache.flink \ -DarchetypeArtifactId...翻译 2018-11-08 15:27:51 · 1327 阅读 · 0 评论 -
Alibaba Cloud ToolKit使用
Alibaba Cloud ToolKit可以帮助开发者在IDE中将本地应用程序一键部署到阿里云服务器或自有服务器上,可以在IDE中打开服务器的命令行终端,可以直接上传文件到服务器上,使用该toolkit做开发调试非常的方便,官网给出该toolkit包含三大功能:1.应用部署2.内置终端Terminal3.文件上传----------------------------------...原创 2019-01-11 19:14:49 · 16777 阅读 · 0 评论 -
Flink状态计算实例与状态数据恢复(checkpoint)
状态计算,简单的理解是本次计算依赖于之前的计算结果,比如,根据key计算求和值,如:key value1001,3000-------------(1001,3000)1002,500--------------(1002,500)1001,400--------------(1001,3400)其中计算第三条数据1001,400时需要累加到之前已经计算好的1001,300...原创 2019-01-10 11:37:54 · 9688 阅读 · 0 评论 -
Flink实现状态数据互相访问(即依赖数据访问,类似表之间的Join)
在流处理应用中,对单个event的处理如果不涉及与其他event交互或访问是比较简单的。但是如果对单个event的处理依赖其他topic过来的event或者后续处理的event依赖当前处理的event,这种情景类似于多表之间join,A和B join取A表的某几个字段。使用flink的state就可以实现。一个场景如下: 课程信息(table,class_id,class_name...原创 2019-02-11 16:00:45 · 4835 阅读 · 0 评论 -
Flink状态后端的使用
Flink提供了以下三种开箱即用的状态后端(用于存储状态数据),可以为所有flink作业配置相同的状态后端(flink-conf.yaml ),也可以为每个flink作业配置指定的状态后端。MemoryStateBackend FsStateBackend RocksDBStateBackend至于在实际应用中应该选择何种状态后端,需要结合业务场景及三种状态后端的特点以做出最佳选择,本文...原创 2019-02-13 14:14:16 · 4192 阅读 · 0 评论 -
Spring Boot整合Flink
使用spring boot整合flink可以快速的构建起整个应用,将关注点重点放在业务逻辑的实现上。在整合的过程中遇到许多问题,最大的问题是flink流无法访问spring容器中的类,从而导致空指针异常,解决思路是在流中进行spring bean的初始化以获得ApplicationContext,进而使用其getBean方法获取类实例。软件版本:Spring Boot 2.1.6+Flink1...原创 2019-07-04 22:46:43 · 42232 阅读 · 20 评论 -
Apache Flink-编程指南-示例-监控维基百科编辑流
维基百科有一个IRC通道记录了所有的编辑信息,本例是Flink通过读取该通道统计每个用户编辑的字节数。这个是一个非常简单的流分析应用,可在此基础上构建更加复杂的流处理。配置Maven工程使用Flink Maven Archetype创建工程,命令如下:$ mvn archetype:generate \ -DarchetypeGroupId=org.apache.flink ...翻译 2018-11-06 16:01:30 · 664 阅读 · 0 评论 -
Apache Flink-编程指南-示例
Java工程样例和Scala工程样例可以引导配置maven或SBT工程并且包含了一个word count的简单实现。监控维基百科是一个更加复杂流分析例子。构建实时显示应用程序(使用Flink,ES,Kibana)可在elastic.co看到,展示了如何通过Flink,ES,Kibana构建对流进行分析的实时显示解决方案。来自data Artisans公司的Flink培训网站有很多例子。...翻译 2018-11-06 10:21:02 · 365 阅读 · 0 评论 -
Flink读写系列之-读Kafka并写入Kafka
读写Kafka比较简单,官方提供了connector,也提供了例子可以参看,官网例子的GitHub地址:https://github.com/apache/flink/tree/master/flink-examples/flink-examples-streaming/src/main/java/org/apache/flink/streaming/examples/kafka下面只做简...原创 2018-10-22 10:56:57 · 7899 阅读 · 2 评论 -
Apache Flink-常见问答
通常以下问题在Flink项目中经常被问到。如果有更多问题,请查询相关文档或在社区中提问。目录: Apache Flink只适用于(准)实时的应用场景吗? 如何一切都是流,为什么Flink中会存在DataStream API和DataSet API? Flink如何和Hadoop栈关联起来? Flink还可以运行在哪些堆栈上? 使用Flink的前提条件是什么? Flink支持什...翻译 2018-10-11 14:32:06 · 432 阅读 · 0 评论 -
Apache Flink-下载
下载最新版本 (v1.6.1) 二进制 源码 版本信息 验证哈希和签名 Maven依赖 旧版本更新策略 所有文档版本 快照 (Nightly Builds)最新稳定版本是1.6.1,hadoop安装不需要使用flink,用户使用flink也不需要任何hadoop依赖,推荐使用没有捆绑任何hadoop库的版本。如果计划和hadoop一起使用(YARN上运行, 连接HDF...翻译 2018-10-11 15:56:47 · 2339 阅读 · 0 评论 -
Apache Flink-编程指南-概念-编程模型
数据流编程模型抽象层级 程序和数据流 并行数据流 窗口 事件 状态化计算 为容错的检查点 流之上的批处理 下一步抽象层级Flink为开发流/批处理应用程序提供不能层级的抽象。 最低级别的抽象简单提供状态化流处理。通过Process Function嵌入到DataStream API中。允许用户使用一致性容错状态来自由处理来自一个或多个流的事件。此外,用户可以注册...翻译 2018-10-12 16:54:41 · 351 阅读 · 0 评论 -
Apache Flink-数据流之上的有状态的计算
官网给出的Flink应用场景图:1.状态计算。2.从上图看出的应用场景有?-----事件驱动式的流处理-----ETL管道-----数据分析3.一般性架构从架构上来说与一般的流式架构没有太大的不同,任务调度和资源管理可以放在我们熟悉的yarn上进行,flink的特点如下:所有流式应用场景:事件驱动应用程序,流和批处理分析,数据管道和ETL正确性保证:"正...翻译 2018-10-08 19:32:05 · 2348 阅读 · 0 评论 -
Apache Flink-什么是Apache Flink?
Apache Flink是一个用于在有界和无界数据之上进行状态计算的分布式处理引擎和框架。其被设计出可以运行在所有常见的集群环境中,在任何规模之上进行内存计算。 下面,让我了解一下Flink架构的一些重要特性。处理有界和无界数据 任何类型数据的都可以看成像事件流一样产生,信用卡交易数据,传感器测量数据,机器日志以及网站上用户交互数据和手机应用数据,所有这些数据都可以当...翻译 2018-10-09 21:05:22 · 1480 阅读 · 0 评论 -
Flink爬坑问题总结
一.隐式转换问题错误:could not find implicit value for evidence parameter of type org.apache.flink.api.common.typeinfo.TypeInformation[String]1.导入包import org.apache.flink.api.scala._2.在类中显示定义隐式转换,如:...原创 2018-10-19 11:30:34 · 5158 阅读 · 0 评论 -
Flink读写系列之-读mysql并写入mysql
在Flink文档中,提供connector读取源数据和把处理结果存储到外部系统中。但是没有提供数据库的connector,如果要读写数据库,官网给出了异步IO(Asynchronous I/O)专门用于访问外部数据,详细可看:https://ci.apache.org/projects/flink/flink-docs-release-1.6/dev/stream/operators/asyn...原创 2018-10-19 14:48:59 · 27903 阅读 · 2 评论 -
Apache Flink-用户场景
Apache Flink在需要运行各种类型的应用程序方面是个不错的选择,因为其具有丰富的特征集。Flink的特征包含了处理流和批处理,复杂的状态管理,事件时间处理语义和对状态的"正好一次"一致性保证。而且,Flink可以部署在不同的资源管理器之上,如YARN,Apache Mesos,和k8s,但是也可以在裸机上单独的集群上运行。当配置高可用后,Flink就不存在单点故障。Flink已经被证...翻译 2018-10-10 21:38:55 · 1601 阅读 · 0 评论 -
Flink读写系列之-读HBase并写入HBase
这里读HBase提供两种方式,一种是继承RichSourceFunction,重写父类方法,一种是实现OutputFormat接口,具体代码如下:方式一:继承RichSourceFunctionpackage com.my.flink.utils.streaming.hbase;import com.my.flink.utils.config.ConfigKeys;import o...原创 2018-10-22 10:37:36 · 22722 阅读 · 0 评论 -
Apache Flink-技术支持
Apache Flink为全球许多公司和企业的关键业务提供强有力支持,本页会列出一些运行着有趣的flink应用的知名用户,并给出链接,以便于查看细节。更多的Flink用户列在维基百科的Powered by Flink directory下面,注意列表并不全面,我们仅仅把哪些要求列出的用户放上去。如果你也想包含在列出的列表中,请通过邮件联系我们。使用Flink的有很多公司,列表中有国内的...翻译 2018-10-11 11:01:50 · 155 阅读 · 0 评论