新書推薦:
《
知宋·宋代之司法
》
售價:HK$
99.7
《
空间与政治
》
售價:HK$
87.4
《
少年读三国(全套12册)
》
售價:HK$
490.6
《
不完美之美:日本茶陶的审美变
》
售價:HK$
87.4
《
现代化的迷途
》
售價:HK$
98.6
《
钛经济
》
售價:HK$
77.3
《
甲骨文丛书·无垠之海:世界大洋人类史(全2册)
》
售價:HK$
322.6
《
中国救荒史
》
售價:HK$
109.8
|
編輯推薦: |
配套资源:电子课件、习题答案、教学大纲、教案、源代码、试卷。
本书特色:
★逐步引导读者了解Flink的架构、API和应用,帮助读者掌握实时数据处理的核心概念和技能。
★详细讲解Scala语言的集合、函数式编程及面向对象编程等内容。
★提供丰富的实例,帮助读者深入了解Flink的内部工作原理并掌握实际应用技巧。
★引导读者从项目的需求分析和设计开始,逐步构建具有实时处理能力的数据仓库系统。
|
內容簡介: |
本书从实践的角度出发,介绍了Flink实时大数据处理框架开发的技术知识,包括实时处理系统的相关概念、开发方法、分布式计算的体系结构,以及面向事件驱动的编程技术。书中详细探讨了Flink的流式处理和批处理融合的能力,以及它在大规模数据流处理中的优势,并通过一个具体的实例介绍大数据实时处理系统的开发方法和开发过程。此外,本书还介绍了实时数据仓库的设计与实现,包括数据抽取、数据转换、数据存储和数据可视化等方面的内容,以帮助读者构建强大而可扩展的实时数据处理系统。除第10章外,其余各章配有习题,以指导读者深入地进行学习。
本书既可作为高等学校计算机软件技术课程的教材,也可作为大数据开发人员的技术参考书。
|
關於作者: |
刘月峰,内蒙古科技大学信息工程学院副教授,博士,硕士生导师,大数据与软件工程系主任。主要研究方向为人工智能、大数据、知识图谱等。近3年主持了省部级项目4项,国家项目2项,横向课题多项。在国内外高水平期刊及重要学术会议上发表论文30余篇,SCI二区3篇,EI期刊5篇,核心期刊多篇,授权国家发明专利2项。作为课程负责人,《C语言程序设计A》获批自治区线上线下混合式一流课程,并入选第二批国家线上线下混合式一流课程的推荐名单。作为课程负责人,主讲的内蒙古高校精品在线开放课程《深度学习之瑞士军刀—PyTorch入门》获批自治区线上一流课程,并于2022年3月入选国家高等教育智慧教育平台。一直致力于大数据与人工智能的相关应用研究,包括大数据与人工智能在故障预测方法中的应用,基于计算机视觉的人工智能应用,基于大数据的知识图谱应用等。
|
目錄:
|
前言
第1章Apache Flink概述
11Flink是什么
111Flink的起源
112Flink的发展过程和主要版本
113Flink的定义
114编程语言的选择
12Flink层次架构
121架构设计
122API和Libraries层
123Runtime核心层
124物理部署层
13大数据处理架构的发展
131Lambda架构
132Kappa架构
133流处理框架的发展
14Flink应用场景
141事件驱动型应用
142数据分析应用
143数据管道应用
144行业应用
15Flink生态系统和社区
151Flink的生态系统和相关工具
152Flink的社区和贡献者
16Flink与其他大数据框架的
关系
161Flink与Hadoop
162Flink与Hive
163Flink与Spark Streaming
164Flink与Storm
17习题
第2章Scala语言
21Scala语言概述
211Scala简介
212开发环境配置
213创建项目
22Scala语言入门
221类型体系结构
222变量的定义与使用
223字面量与插值表达式
224运算符
225流程控制语句
23集合
231集合概述
232Array和ArrayBuffer
233Tuple
234List和ListBuffer
235Set
236Map
237集合操作符号
24函数式编程
241函数的定义与使用
242匿名函数
243高阶函数
244柯里化与闭包
25面向对象编程
251类与对象
252构造器
253继承
254伴生类与伴生对象
255多态
256泛型
257隐式转换
26模式匹配
261基本使用
262条件守卫
263常用匹配
264样例类
27习题
第3章环境搭建和应用部署
31Flink开发环境搭建
311CentOS环境准备
312项目初始化
313项目结构与依赖
32Flink词频统计
321批处理方式
322流处理方式
323两种方式对比
324向集群提交作业
33Flink 集群部署
331Flink集群核心组件
332部署模式
333Standalone模式
334YARN模式
34YARN模式的部署与应用提交
341环境准备
342会话模式
343单作业模式
344应用模式
35习题
第4章Flink流处理架构与原理
41流处理模型与原理
411数据流的概念
412流处理和批处理
413流处理的原理
414流处理的模型
415流处理的优化策略
42Flink流处理架构
421Flink的数据流模型
422算子
423Flink的状态管理
424Flink的容错机制
425Flink在流计算中的优化
43Flink 集群架构
431集群组件的协作
432Task和算子链
433Task Slots和资源管理
44习题
第5章流处理API
51基本使用
511DataStream是什么
512基础程序
513并行度的设置
52DataStream 数据源
521内置Data Source
522自定义 Data Source
53DataStream 转换算子
531数据流转换
532RichFunction
533物理分区
534算子链
535资源组
54DataStream Sink
541Data Sinks
542自定义Sink
55用户行为实时分析
56习题
第6章时间和窗口
61时间与窗口的概念
611Flink中的时间
612窗口
613水位线
62窗口的基本使用
621窗口分配器
622内置窗口分配器
623窗口触发器
624内置触发器
63窗口函数
631ReduceFunction
632AggregateFunction
633ProcessWindowFunction
634增量聚合的ProcessWindow
Function
64习题
第7章处理函数与状态管理
71处理函数
711ProcessFunction
712KeyedProcessFunction
713定时器
72多流操作
721Union
722Connect
723Window Join
724Interval Join
725侧输出流
726处理迟到数据
73状态管理
731有状态的流处理
732键控状态
733算子状态
74状态持久化
741Checkpoint
742StateBackend
743Savepoint
75习题
第8章Table API和SQL API
81Table API和SQL API概述
811程序基本结构
812TableEnvironment创建
813创建Table
814Table查询
815Table输出
816Table与DataStream的转换
82Flink SQL使用
821基本使用
822DDL创建表
823查询表
824插入数据
83窗口处理
831窗口表值函数
832窗口聚合
833窗口连接
834Top-N
835去重
84函数
841标量函数
842表值函数
843聚合函数
844表值聚合函数
85习题
第9章Flink Kafka 连接器
91Kafka概述
911基本概念
912环境准备
92生产者与消费者
921Topic操作
922消息发送及消费
923容错机制
93Flink集成Kafka
931DataStream API集成Kafka
932Table API集成Kafka
94数据实时清洗与可视化
941数据模拟
942数据清洗处理
943将数据写入ClickHouse
944数据可视化
95习题
第10章Flink 数据仓库项目
|
內容試閱:
|
大数据实时处理是一个不断发展的新兴领域,深刻地改变着数据处理和决策方式。随着数据规模的快速增长和实时决策需求的增加,大数据实时处理已经成为企业和组织中至关重要的关键技术。在这个快节奏和高竞争的时代,及时捕捉、分析和应用实时数据的能力对于企业的竞争力至关重要。
在实时数据处理领域,Apache Flink凭借其优越的性能、高可靠性和丰富的功能集成成为首 选解决方案,拥有广泛的市场优势和地位。作为本书重点介绍的内容,Apache Flink是一种强大而灵活的实时处理框架。在如今的大数据技术生态系统中,Flink凭借其独特之处,成为实时数据处理领域的首 选解决方案。
与其他流处理框架相比,Flink的独特之处在于其支持真正的流式处理,并能够处理具有低延迟和高吞吐量要求的大规模数据流。这使得Flink在各行各业得到了广泛应用。
举例来说,在金融领域,Flink被用于实时风险管理、交易监控和欺诈检测等关键业务场景。其强大的处理能力和低延迟的特性使得金融机构能够更及时地发现和应对风险,并保护客户资产的安全。在电子商务领域,Flink可以实时处理用户行为数据,为个性化推荐、实时广告投放和库存管理等提供支持。通过实时数据处理,电子商务企业能够更好地了解用户需求,并提供更精准和个性化的服务。在物联网领域,Flink能够处理海量的传感器数据,并实时进行数据分析和决策。这使得物联网设备能够及时响应和适应不同的环境条件,为智能城市、智能工厂等场景提供关键支持。在电信行业,Flink可以应对高速的实时流量数据,实现实时网络监控和故障预测。这对于提供高质量的通信服务以及及时解决网络问题至关重要。
为了帮助读者更好地学习和应用Flink,本书将逐步引导读者了解Flink的架构、API和应用案例,帮助读者掌握实时数据处理的核心概念和技能。
第1章详细介绍了Flink的基本概念、Flink层次架构、大数据处理架构的发展等内容。通过这一章的学习,读者能建立起对Flink整体架构和功能的全面认知,为后续章节的学习打下坚实的基础。
第2章专注介绍Scala编程语言。作为本书示例代码的主要编写语言,Scala与Java兼容,并具备强大的函数式编程特性。书中详细讲解了Scala语言的集合、函数式编程及面向对象编程等内容。通过学习Scala,读者将能够更灵活地编写Flink应用程序,充分利用Scala的函数式编程能力,提高代码的表达力和开发效率,发挥Flink框架的优势。
第3、4章重点讨论Flink开发和生产环境的配置与搭建,以及深入探究Flink的内部架构和工作原理。通过这些内容的学习,读者将对Flink的部署和运行有更深入的理解,为后续章节的学习奠定坚实的基础,并能够更好地优化和调优Flink应用程序。
第5~9章是本书的关键章节,深入介绍Flink的核心功能和API,详细探讨流处理API、时间和窗口、处理函数与状态管理、Table API和SQL API,以及Flink Kafka连接器。这些章节将帮助读者熟悉Flink的不同编程接口和数据处理模式,并掌握在实际场景中应用Flink的技巧等内容。
第10章提供了一个实时数据仓库的项目实战案例。实时数据仓库是大数据领域的一个重要应用,可以帮助企业和组织实现实时数据分析与决策,提高业务的竞争力和效益。通过这个案例,读者能够将之前章节中学到的概念、原理和技术应用到一个真实的数据仓库项目中。本章将引导读者从项目的需求分析和设计开始,逐步构建起一个具有实时处理能力的数据仓库系统。本章将介绍如何合理地组织和管理数据流,如何定义时间窗口和处理函数进行实时计算,以及如何利用Flink流处理API进行数据处理和分析等内容。同时,还会介绍一些常见的实时数据仓库架构,帮助读者构建高性能和可扩展的实时数据仓库系统。
本书还提供了丰富的实例,旨在帮助读者在实践中掌握Flink的应用技巧。读者可以通过实例代码,深入了解 Flink 的内部工作原理并掌握实际应用技巧。
所有实例都在Flink 115版本下进行了调试和运行验证,确保其可行性和有效性。从应用程序的设计到部署和监控,读者均可以按照书中的内容开展实施,以更好地理解和应用所学知识。为了巩固所学,除第10章外,其余各章最后都附有习题,以供读者进行练习和思考,帮助读者加深对 Flink 的理解并提升实际应用能力。
本书由刘月峰编写第2、5、6章,刘伟编写第9、10章,顾瑞春编写第1、4章,刘立新编写第3章,祝铁芳编写第7章,陈大伟编写第8章,全书由刘月峰负责统稿。荆明明和肖莉娟参与了本书的部分内容整理工作。
虽然在编写本书时已尽量保证准确性和完整性,但由于水平有限,难免存在不妥之处,恳请读者提出宝贵的意见和反馈,以帮助我们改进和完善本书。
|
|