Flink入门与实战pdf下载

Flink入门与实战百度网盘pdf下载

作者:
简介:Flink入门与实战
出版社:人民邮电出版社
出版时间:2019-10-01
pdf下载价格:9.00¥


预览


内容介绍

内容简介

  本书旨在帮助读者从零开始快速掌握Flink的基本原理与核心功能。本书首先介绍了Flink的基本原理和安装部署,并对Flink中的一些核心API进行了详细分析。然后配套对应的案例分析,分别使用Java代码和Scala代码实现案例。最后通过两个项目演示了Flink在实际工作中的一些应用场景,帮助读者快速掌握Flink开发。 学习本书需要大家具备一些大数据的基础知识,比如Hadoop、Kafka、Redis、Elasticsearch等框架的基本安装和使用。本书也适合对大数据实时计算感兴趣的读者阅读。学习本书需要大家具备一些大数据的基础知识,例如Hadoop、Kafka、Redis、Elasticsearch等框架的基本安装和使用。本书也适合对大数据实时计算感兴趣的爱好者阅读。

查看全部↓

作者简介

  徐葳,拥有多年一线互联网公司软件的研发经验,曾担任猎豹移动大数据技术专家、中科院大数据研究院大数据技术专家、某大学外聘大数据讲师。他主导开发海外舆情监控系统、海量数据采集平台、OLAP数据分析平台、三度关系推荐系统和PB级数据检索系统等,并进行大数据相关的内容培训。此外,他对Hadoop、Storm和Spark等大数据技术框架有深入的理解。

查看全部↓

目录

内容提要
前言
资源与支持
配套资源
提交勘误
与我们联系
关于异步社区和异步图书
第1章 Flink概述
1.1 Flink原理分析
1.2 Flink架构分析
1.3 Flink基本组件
1.4 Flink流处理(Streaming)与批处理(Batch)
1.5 Flink典型应用场景分析
1.6 流式计算框架对比
1.7 工作中如何选择实时计算框架
第2章 Flink快速入门
2.1 Flink开发环境分析
2.1.1 开发工具推荐
2.1.2 Flink程序依赖配置
2.2 Flink程序开发步骤
2.3 Flink流处理(Streaming)案例开发
2.3.1 Java代码开发
2.3.2 Scala代码开发
2.3.3 执行程序
2.4 Flink批处理(Batch)案例开发
2.4.1 Java代码开发
2.4.2 Scala代码开发
2.4.3 执行程序
第3章 Flink的安装和部署
3.1 Flink本地模式
3.2 Flink集群模式
3.2.1 Standalone模式
3.2.2 Flink on Yarn模式
3.2.3 yarn-session.sh命令分析
3.2.4 Flink run命令分析
3.3 Flink代码生成JAR包
3.4 Flink HA的介绍和使用
3.4.1 Flink HA
3.4.2 Flink Standalone集群的HA安装和配置
3.4.3 Flink on Yarn集群HA的安装和配置
3.5 Flink Scala Shell
第4章 Flink常用API详解
4.1 Flink API的抽象级别分析
4.2 Flink DataStream的常用API
4.2.1 DataSource
4.2.2 Transformation
4.2.3 Sink
4.3 Flink DataSet的常用API分析
4.3.1 DataSource
4.3.2 Transformation
4.3.3 Sink
4.4 Flink Table API和SQL的分析及使用
4.4.1 Table API和SQL的基本使用
4.4.2 DataStream、DataSet和Table之间的转换
4.4.3 Table API和SQL的案例
4.5 Flink支持的DataType分析
4.6 Flink序列化分析
第5章 Flink高级功能的使用
5.1 Flink Broadcast
5.2 Flink Accumulator
5.3 Flink Broadcast和Accumulator的区别
5.4 Flink Distributed Cache
第6章 Flink State管理与恢复
6.1 State
6.1.1 Keyed State
6.1.2 Operator State
6.2 State的容错
6.3 CheckPoint
6.4 StateBackend
6.5 Restart Strategy
6.6 SavePoint
第7章 Flink窗口详解
7.1 Window
7.2 Window的使用
7.2.1 Time Window
7.2.2 Count Window
7.2.3 自定义Window
7.3 Window聚合分类
7.3.1 增量聚合
7.3.2 全量聚合
第8章 Flink Time详解
8.1 Time
8.2 Flink如何处理乱序数据
8.2.1 Watermark
8.2.2 Watermark的生成方式
8.3 EventTime+Watermark解决乱序数据的案例详解
8.3.1 实现Watermark的相关代码
8.3.2 通过数据跟踪Watermark的时间
8.3.3 利用Watermark+Window处理乱序数据
8.3.4 Late Element的处理方式
8.3.5 在多并行度下的Watermark应用
8.3.6 With Periodic Watermarks案例总结
第9章 Flink并行度详解
9.1 Flink并行度
9.2 TaskManager和Slot
9.3 并行度的设置
9.3.1 并行度设置之Operator Level
9.3.2 并行度设置之Execution Environment Level
9.3.3 并行度设置之Client Level
9.3.4 并行度设置之System Level
9.4 并行度案例分析
第10章 Flink Kafka Connector详解
10.1 Kafka Connector
10.2 Kafka Consumer
10.2.1 Kafka Consumer消费策略设置
10.2.2 Kafka Consumer的容错
10.2.3 动态加载Topic
10.2.4 Kafka Consumer Offset自动提交
10.3 Kafka Producer
10.3.1 Kafka Producer的使用
10.3.2 Kafka Producer的容错
第11章 Flink实战项目开发
11.1 实时数据清洗(实时ETL)
11.1.1 需求分析
11.1.2 项目架构设计
11.1.3 项目代码实现
11.2 实时数据报表
11.2.1 需求分析
11.2.2 项目架构设计
11.2.3 项目代码实现

查看全部↓

媒体评论

  想学大数据,怎么能绕开Flink?不过,并不是每本书都能真正帮助学员提升能力。徐葳老师的"特色"就是实践经
  验和教学经验同样丰富,因此本书充分融入了"学练结合"的思想,不仅包含对各个知识栈的讲解阐述,还解读剖析了多个实际案例的并分析总结各实战项目的步骤流程,使得技术学习不再枯燥。只要充分掌握本书的内容,初学者也能达到一定的技术高度!
  ——杨文飞 51CTO学院副总裁
  大数据技术的普及和不断的升级迭代,大大推动了智能化社会的加速实现,而与大数据相关的技术也成为了越来越基础的一项服务。Flink不同于其他大数据技术的诸多特性引起了越来越多从业者的关注。本书的作者在大数据领域深耕数年,有着丰富的实践经验,对MapReduce、Spark及Storm等大数据处理框架有着深入的理解。作者深入浅出地介绍了Flink的一些关键技术与特性,并且结合自己的实践经验进行快速上手的指导介绍。作为一本Flink实用入门图书,本书能够有效帮助对大数据相关技术感兴趣的读者实现快速入门,使读者快速掌握Flink开发。
  —— 张楠 LiveMe研发副总裁
  Flink是目前主流的大数据实时计算框架,本书通俗易懂地讲解了Flink设计原理及实现机制,从接口使用、平台运维到案例实操都有较为详尽的讲解。本书可以作为Flink应用开发者的入门读物,也可作为Flink平台运维人员的随身手册。
  ——傅杰 前优酷土豆大数据平台架构师、汽车之家大数据专家,现任国美技术工程中心总经理

查看全部↓

前言

  前言
  Flink项目是大数据计算领域冉冉升起的一颗新星。大数据计算引擎的发展经历了几个过程,从第1代的MapReduce,到第2代基于有向无环图的Tez,第3代基于内存计算的Spark,再到第4代的Flink。因为Flink可以基于Hadoop进行开发和使用,所以Flink并不会取代Hadoop,而是和Hadoop紧密结合。
  Flink主要包括DataStream API、DataSet API、Table API、SQL、Graph API和FlinkML等。现在Flink也有自己的生态圈,涉及离线数据处理、实时数据处理、SQL操作、图计算和机器学习库等。
  本书共分11章,每章的主要内容如下。
  第1~2章主要针对Flink的原理组件进行分析,其中包括针对Storm、Spark Streaming和Flink这3个实时计算框架进行对比和分析,以及快速实现Flink的入门案例开发。
  第3章主要介绍Flink的安装部署,包含Flink的几种部署模式:本地模式、Standalone模式和YARN模式。本章主要针对YARN模式进行了详细分析,因为在实际工作中以YARN模式为主,这样可以充分利用现有集群资源。
  第4章主要针对DataStream和DataSet中的相关组件及API进行详细分析,并对Table API和SQL操作进行了基本的分析。
  第5~9章主要针对Flink的一些高级特性进行了详细的分析,包含Broadcast、Accumulator、Distributed Cache、State、CheckPoint、StateBackend、SavePoint、Window、Time、Watermark以及Flink中的并行度。
  第10章主要介绍常用组件Kafka-Connector,针对Kafka Consumer和Kafka Producer的使用结合具体案例进行分析,并描述了Kafka的容错机制的应用。
  第11章介绍Flink在实际工作中的两个应用场景:一个是实时数据清洗(实时ETL),另一个是实时数据报表,通过这两个项目实战可以加深对Flink的理解。
  感谢所有在本书编写过程中提出宝贵意见的朋友。作者水平有限,书中如有不足之处还望指出并反馈至邮箱xuwei@xuwei.tech,作者将不胜感激。

查看全部↓

精彩书摘

  第1章 Flink概述
  本章讲解Flink的基本原理,主要包含Flink原理及架构分析、Flink组件介绍、Flink中的流处理和批处理的对比、Flink的一些典型应用场景分析,以及Flink和其他流式计算框架的区别等。
  1.1 Flink原理分析
  很多人是在2015年才听到Flink这个词的,其实早在2008年,Flink的前身就已经是柏林理工大学的一个研究性项目,在2014年这个项目被Apache孵化器所接受后,Flink迅速成为ASF(Apache Software Foundation)的顶级项目之一。截至目前,Flink的版本经过了多次更新,本书基于1.6版本写作。
  Flink是一个开源的流处理框架,它具有以下特点。
  分布式:Flink程序可以运行在多台机器上。
  高性能:处理性能比较高。
  高可用:由于Flink程序本身是稳定的,因此它支持高可用性(High Availability,HA)。
  准确:Flink可以保证数据处理的准确性。
  Flink主要由Java代码实现,它同时支持实时流处理和批处理。对于Flink而言,作为一个流处理框架,批数据只是流数据的一个极限特例而已。此外,Flink还支持迭代计算、内存管理和程序优化,这是它的原生特性。
  由图1.1可知,Flink的功能特性如下。
  流式优先:Flink可以连续处理流式数据。
  容错:Flink提供有状态的计算,可以记录数据的处理状态,当数据处理失败的时候,能够无缝地从失败中恢复,并保持Exactly-once。
  可伸缩:Flink中的一个集群支持上千个节点。
  性能:Flink支持高吞吐、低延迟。

查看全部↓