说明:本文为《Flink大数据项目实战》学习笔记,想通过视频系统学习Flink这个最火爆的大数据计算框架的同学,推荐学习CSDN官网课程:

Flink大数据项目实战:http://t.cn/ExrHPl9

1. 各种Connector

1.1Connector是什么鬼

Connectors是数据进出Flink的一套接口和实现,可以实现Flink与各种存储、系统的连接

注意:数据进出Flink的方式不止Connectors,还有:

1.Async I/O(类Source能力):异步访问外部数据库

2.Queryable State(类Sink能力):当读多写少时,外部应用程序从Flink拉取需要的数据,而不是Flink把大量数据推入外部系统(后面再讲)

1.2哪些渠道获取connector

预定义Source和Sink:直接就用,无序引入额外依赖,一般用于测试、调试。

捆绑的Connectors:需要专门引入对应的依赖(按需),主要是实现外部数据进出Flink

1.Apache Kafka (source/sink)

2.Apache Cassandra (sink)

3.Amazon Kinesis Streams (source/sink)

4.Elasticsearch (sink)

5.Hadoop FileSystem (sink)

6.RabbitMQ (source/sink)

7.Apache NiFi (source/sink)

8.Twitter Streaming API (source)

Apache Bahir

1.Apache ActiveMQ (source/sink)

2.Apache Flume (sink)

3.Redis (sink)

4.Akka (sink)

5.Netty (source)

1.3预定义Source

预定义Source包含以下几类:

1.基于文件

readTextFile

StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnviro nment();

DataStream<String> lines = env.readTextFile("file:///path");

readFile

DataStream<String> lines = env.readFile(inputFormat, "file:///path");

2.基于Socket

StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnviro nment();

DataStream<String> socketLines = env .socketTextStream("localhost", 9998);

3.基于Elements 和Collections

fromElements

StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnviro nment();

DataStream<String> names = env.fromElements("hello", "world", "!");

fromCollections

List<String> list = new ArrayList<String>(); list.add("Hello"); list.add("world");

list.add("!");

DataStream<String> names = env.fromCollection(list);

使用场景: 应用本地测试,但是流处理应用会出现Finished的状态

1.4预定义Sink

stream.print() /printToErr()(注: 线上应用杜绝使用,采用抽样打印或者日志的方式)

stream.writeAsText("/path/to/file")/ TextOutputFormat

stream.writeAsCsv(“/path/to/file”)/ CsvOutputFormat

writeUsingOutputFormat() / FileOutputFormat

stream.writeToSocket(host, port, SerializationSchema)

1.5队列系统Connector(捆绑)

支持Source 和 Sink

需要专门引入对应的依赖(按需),主要是实现外部数据进出Flink

1.Kafka(后续专门讲)

2.RabbitMQ

1.6存储系统Connector(捆绑)

只支持Sink

1.HDFS

2.ElasticSearch

3.Redis

4.Apache Cassandra

1.7 Source容错性保证

1.8 Sink容错性保证

2. 自定义Source与Sink

2.1自定义Source

1.实现SourceFunction(非并行,并行度为1)

1)适用配置流,通过广播与时间流做交互

2)继承SourceFuncion, 实现run 方法

3)cancel 方法需要处理好(cancel 应用的时候,这个方法会被调用)

4)基本不需要做容错性保证

2.实现ParallelSourceFunction

1)实现ParallelSourceFunction类或者继承RichParallelSourceFunction。

2)实现切分数据的逻辑。

3)实现CheckpointedFunction接口,来保证容错保证。

4)Source 拥有回溯读取,可以减少的状态的保存。

3.继承RichParallelSourceFunction

2.2自定义Sink

1)实现SinkFunction 接口或者继承RichSinkFunction。

2)实现CheckpointedFunction, 做容错性保证。

Flink随堂笔记:Connectors概述相关推荐

  1. linux加权_「学员笔记」LINUX随堂笔记(十一):LVS负载均衡群集

    第12章 LVS负载均衡群集 一.群集概述 1.1 群集的类型 无论是哪种群集,都至少包括两台节点服务器,而对外表现为一个整体,只提供一个访问入口(域名或IP地址),相当于一台大型计算机,根据群集所提 ...

  2. 92030302随堂笔记 c# 1614675886

    92030302随堂笔记 c# 1614675886 控件 Nodes添加节点 默认事件 被选中的节点 文本内容,Text 深度,level 控件的Nodes属性 获取所有的节点对象数组的长度 尝试用 ...

  3. System Verilog自学笔记专栏概述博文目录

    本文用于梳理学习笔记目录下的博文笔记,概述会有笔者的System Verilog的学习反思以及相关随笔,望有同学发现问题及时提出~感谢 概述随笔 了解基本的概念,框架后,开始使用例子进行学习语言.需要 ...

  4. 图床云存储项目课程随堂笔记

    这个项目属实重量级,第一遍学习的过程比较懵,只是记录一下随堂笔记.后面理解了项目后端代码流程,再细写几篇博客归纳. 基本单机环境配置 大的项目你可能连配置都配不清楚. 新手必须要心细,因为你错了一步, ...

  5. 计算机网络笔记Part1 概述

    本人计算机网络笔记总目录 计算机网络笔记Part1 概述 计算机网络笔记Part2 物理层(Physical Layer) 计算机网络笔记Part3 数据链路层(Data Link Layer) 计算 ...

  6. 【笔记】嵌入式C语言随堂笔记

    喏,你们要的嵌入式C语言随堂笔记,丰富度应该要比老师自己记录的高一些.但是机酱的废话一样很多哦! 这个笔记是自己一个字一个字手打的,话说打个原创图个慰藉没问题的吧=.= 而且那时候很菜,知道就好不许说 ...

  7. 《Advice on how to read papers》---吴恩达CS230随堂笔记

    How to read papers? Reading research papers Reading a paper Questions to ask yourself after reading ...

  8. JAVA历险记--java基础知识--随堂笔记

    JAVA基础知识随堂笔记 简介 学习视频 题1 题2 答疑 简介 由于本人从事Delphi(很古董的语言了)和c#开发,所以一些基础的知识还是比较了解的,需要熟悉的是IDE的简单操作,以及JAVA的相 ...

  9. Oracle学习笔记 字符集概述

    Oracle 学习笔记 字符集概述 这节课开始讲oracle里面的字符集 偏重于原理和简单的一些判断以及实现 字符集它涉及到很多的东西 比如建库和操作系统环境 这节课把字符集的原理性的东西以及常见的操 ...

最新文章

  1. Linux的一些基本命令与MySQL索引
  2. 腾讯云Ubuntu挂载硬盘空间
  3. CUDA and cudnn 历史版本归档地址
  4. Pivotal发布Spring Cloud Data Flow 1.5版本
  5. IT 巡检内容、方法大全
  6. AutoML简要概述
  7. Android之jni调用java函数总结
  8. 【渝粤题库】广东开放大学 标准化专题讲座 形成性考核
  9. Centos Cacti 0.8.8g
  10. linux工作原理fiq,读Kernel感悟-Linux内核启动-内核的生成 - kernel hacker 修炼之道——李万鹏 - 博客频道 - CSDN...
  11. 人类和编译器谁编写的代码更快?你们的答案也许都是错的
  12. 深度学习:卷积神经网络CNN变体
  13. swing JTable学习(七)—TableModelListener
  14. TransE模型学习笔记
  15. 如何只用一个软件制作大屏图表
  16. 计算机cpu属于什么症状,电脑CPU超频过度有什么表现
  17. MCU控制继电器的电路详解
  18. 最新Discuz【西瓜】微信登录插件
  19. asp.net 中 使用ajax 和浏览器的关系
  20. gcc 中-O -O1 -O2 -O3 -Os -Ofast -Og优化的原理

热门文章

  1. matlab fft 相位混乱,matlab fft 幅度,相位
  2. 2小时上车AI作画_NovelAI (学会能做游戏mod)
  3. 儿童滑雪单板双板等级标准
  4. go语言基础学习 (五) http请求
  5. 电商营销活动的优惠金额精度问题
  6. 大数据基础之Hadoop(三)—— MapReduce
  7. 微软官方原版win7(64位/32位)旗舰版系统下载
  8. 剑指Offer(较难)
  9. docker跨主机集群之flannel
  10. 《数字电子技术课程设计》课程笔记(二)————multisim仿真模拟