【图书推荐】《Spark入门与大数据分析实战》

news2024/11/24 16:49:47

本书重点

广告点击实时大数据分析、电影影评大数据分析,这两个综合项目适合作为课题论文、毕业论文素材,值得收藏。

内容简介

本书基于Spark 3.3.1框架展开,系统介绍Spark生态系统各组件的操作,以及相应的大数据分析方法。

本书各章节均提供丰富的示例及其详细的操作步骤,并配套示例源码、PPT课件和教学大纲。

本书共分11章,内容包括Scala编程基础、Spark框架全生态体验、Spark RDD、Spark SQL、Kafka、Spark Streaming、Spark ML、Spark GraphX、Redis等技术框架和应用,并通过广告点击实时大数据分析和电影影评大数据分析两个综合项目进行实战提升。

适合读者

本书适合Spark框架初学者,既可以作为大数据分析技术、大数据应用开发工程师的查询手册,也可以作为高等院校或高职高专计算机技术、软件工程、数据科学与大数据科学、智能科学与技术、人工智能等专业大数据课程的教材。

作者简介

迟殿委,计算机软件与理论专业硕士,系统架构设计师。有多年企业软件研发经验和丰富的JavaEE、大数据技术培训经验,熟练掌握JavaEE与大数据全栈技术框架,擅长JavaEE系统架构设计、大数据分析与挖掘。著有图书《Hive入门与大数据分析实战》《Hadoop大数据分析技术》《Hadoop+Spark大数据分析实战》《Spring Boot企业级开发实战(视频教学版)》《深入浅出Java编程》《Spring Boot+Spring Cloud微服务开发》。

前言

如今大数据技术已广泛应用于金融、医疗、教育、电信、政府等领域,各个行业都积累了大量的历史数据,并不断产生大量新数据,数据计量单位出现PB、EB、ZB、YB,甚至BB、NB、DB。大数据的处理方式与传统数据不同,需要通过分布式存储和分布式运算来实现,由此也催生了优秀的大数据处理框架和生态组件。Spark的特色在于它首先为大数据应用提供了一个统一的平台。从数据处理层面看,模型可以分为批处理、交互式、流处理等多种方式;而从大数据平台层面看,已有成熟的Hadoop、Cassandra、Mesos以及其他云的供应商。Spark整合了主要的数据处理模型,并能够很好地与现在主流的大数据平台集成。

许多大型互联网公司,如谷歌、阿里巴巴、百度、京东等都急需掌握大数据技术的人才,因此大数据相关人才出现了供不应求的状况。Spark作为继Hadoop之后的下一代大数据处理引擎,经过飞跃式发展,现已成为大数据产业中的一股中坚力量:RDD模型具有强大的表现能力,并通过不断完善自己的功能而逐渐形成了一套自己的生物圈,提供了全栈(full-stack)的解决方案,其中主要包括Spark内存中批处理、Spark SQL交互式查询、Spark Streaming流式计算、GraphX图计算和Spark ML机器学习算法库。

关于本书

本书基于Spark 3.3.1新版本展开,符合企业目前的开发需要。本书全面讲解Spark大数据技术的相关知识和实战应用,内容包括Scala编程基础、Spark框架全生态体验、Spark RDD、Spark SQL、Spark Streaming、Kafka、Spark GraphX、Spark ML、Redis等技术框架及其应用,并通过广告点击实时分析和电影影评分析两个大数据分析综合项目进行实战提升,夯实Spark大数据分析的基础知识,提升开发技能。

本书重视实践操作开发,内容安排从框架搭建和开发环境安装、技术框架快速示例引入、技术框架详细案例讲解,到大数据分析综合项目实战提升等,将实战与理论知识相结合,从而加深读者对Spark框架应用的理解。

笔者是具有多年大数据分析和处理实战经验的高级工程师,书中融入了笔者多年的实战经验,讲解细致、内容丰富、示例清晰、语言通俗易懂,方便读者提高学习效率,保证学习质量。

配套示例源码、PPT课件等资源下载

本书配套示例源码、PPT课件、教学大纲,需要用微信扫描下边二维码获取。如果下载有问题或阅读中发现问题,请用电子邮件联系booksaga@163.com,邮件主题为“Spark入门与大数据分析实战”。

适合的读者

  • Spark框架初学者。
  • 大数据分析技术人员。
  • 大数据应用开发工程师。
  • 高等院校或高职高专大数据课程的师生。

笔  者  

2023年3月  

目录

目    录
第1章  Spark开发之Scala编程基础 1
1.1  开发环境搭建 1
1.2  基础语法 4
1.3  函数 7
1.4  控制语句 9
1.5  函数式编程 12
1.6  模式匹配 17
1.7  类和对象 18
1.8  异常处理 22
1.9  Trait(特征) 23
1.10  文件I/O 24
第2章  Spark框架全生态体验 26
2.1  Spark概述 26
2.1.1  关于Spark 26
2.1.2  Spark的基本概念 27
2.1.3  Spark集群模式 28
2.2  Linux环境搭建 33
2.2.1  VirtualBox虚拟机安装 33
2.2.2  安装Linux操作系统 35
2.2.3  SSH工具与使用 42
2.2.4  Linux统一设置 43
2.3  Hadoop安装与配置 45
2.3.1  Hadoop安装环境准备 45
2.3.2  Hadoop伪分布式安装 49
2.3.3  Hadoop完全分布式环境搭建 55
2.4  Spark安装与配置 60
2.4.1  本地模式安装 61
2.4.2  伪分布模式安装 63
2.4.3  完全分布模式安装 66
2.4.4  Spark on YARN 68
2.5  spark-submit 72
2.5.1  使用spark-submit提交 72
2.5.2  spark-submit参数说明 73
2.6  DataFrame 75
2.6.1  DataFrame概述 75
2.6.2  DataFrame的基础应用 77
2.7  Spark SQL 82
2.7.1  快速示例 83
2.7.2  read和write 87
2.8  Spark Streaming 89
2.9  共享变量 92
2.9.1  广播变量 92
2.9.2  累加器 93
第3章  Spark RDD弹性分布式数据集 94
3.1  什么是RDD 94
3.2  RDD的主要属性 95
3.3  RDD的特点 96
3.3.1  弹性 96
3.3.2  分区 96
3.3.3  只读 96
3.3.4  依赖(血缘) 96
3.3.5  缓存 98
3.3.6  checkpoint 99
3.4  RDD的创建与处理过程 99
3.4.1  RDD的创建 99
3.4.2  RDD的处理过程 99
3.4.3  RDD的算子 100
3.4.4  常见的转换算子 100
3.4.5  常见的行动算子 105
第4章  Spark SQL结构化数据文件处理 109
4.1  Spark SQL概述 109
4.1.1  什么是Spark SQL 109
4.1.2  Spark SQL的特点 110
4.1.3  什么是DataFrame 111
4.1.4  什么是DataSet 112
4.2  Spark SQL 编程 112
4.2.1  SparkSession 112
4.2.2  使用DataFrame进行编程 113
4.2.3  使用DataSet进行编程 118
4.2.4  DataFrame和DataSet之间的交互 120
4.2.5  使用IDEA创建Spark SQL程序 120
4.2.6  自定义Spark SQL函数 121
4.3  Spark SQL数据源 122
4.3.1  通用加载和保存函数 122
4.3.2  加载JSON文件 123
4.3.3  读取Parquet文件 124
4.3.4  JDBC 124
第5章  Kafka实战 127
5.1  Kafka的特点 128
5.2  Kafka术语 129
5.3  Kafka单机部署 130
5.4  Kafka集群部署 137
第6章  Spark Streaming实时计算 142
6.1  Spark Streaming概述 142
6.1.1  Spark Streaming是什么 142
6.1.2  Spark Streaming特点 143
6.1.3  Spark Streaming架构 144
6.2  DStream入门 144
6.2.1  WordCount案例 145
6.2.2  WordCount案例解析 146
6.3  DStream创建 147
6.3.1  RDD队列 147
6.3.2  自定义数据源 148
6.3.3  Kafka 数据源 150
6.4  DStream实战 151
6.4.1  从端口读取数据 151
6.4.2  FileStream 151
6.4.3  窗口函数 153
6.4.4  updateStateByKey 154
6.5  Structured Streaming 157
6.5.1  概述 157
6.5.2  快速示例 157
第7章  Spark ML机器学习 161
7.1  机器学习 161
7.2  Spark ML 163
7.3  典型机器学习流程介绍 163
7.3.1  提出问题 163
7.3.2  假设函数 164
7.3.3  损失函数 165
7.3.4  训练模型确定参数 166
7.4  经典算法模型实战 166
7.4.1  聚类算法实战 166
7.4.2  回归算法实战 170
7.4.3  协同过滤算法实战 172
7.4.4  分类算法实战 178
第8章  Spark GraphX图计算 183
8.1  Spark GraphX 183
8.2  Spark GraphX的抽象 184
8.3  Spark GraphX图的构建 185
8.4  Spark GraphX图的计算模式 187
8.5  GraphX 3个主要算法实战 189
8.6  GraphX综合应用项目实战 192
第9章  Redis数据库入门 200
9.1  Redis环境安装 200
9.1.1  简介 200
9.1.2  安装 201
9.1.3  Java客户端 202
9.2  Redis常见数据类型 202
9.2.1  key 202
9.2.2  string类型 204
9.2.3  list 205
9.2.4  set 206
9.2.5  sorted set 208
9.2.6  hash 209
9.3  Redis排序 210
9.4  Redis事务 213
9.5  Redis发布订阅及示例 216
9.6  Redis持久化 219
第10章  广告点击实时大数据分析项目实战 221
10.1  项目环境准备 221
10.2  数据生成模块 226
10.3  从Kafka读取数据 230
10.3.1  bean类AdsInfo 230
10.3.2  工具类MyKafkaUtil 230
10.3.3  从Kafka消费数据 231
10.4  数据统计实现 233
10.4.1  每天每地区热门广告点击率Top3 233
10.4.2  最近1小时内广告点击量实时统计 234
第11章  电影影评大数据分析项目实战 237
11.1  项目介绍 237
11.2  项目实现 238
11.2.1  公共代码开发 241
11.2.2  平均评分最高的前10部电影 244
11.2.3  电影类别及其平均评分 247
11.2.4  评分次数最多的前10部电影 250

正版购买

《Spark入门与大数据分析实战(大数据技术丛书)》(迟殿委,李超)【摘要 书评 试读】- 京东图书 (jd.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1821393.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

亿达四方:一站式SolidWorks代理服务,打造设计竞争力

在当今瞬息万变的设计与制造领域,高效、精准的3D设计软件已成为推动企业创新与发展的核心驱动力。作为业界知名的SolidWorks一站式代理服务商,亿达四方致力于为企业搭建从软件采购到技术应用的全方位桥梁,全面赋能设计团队,助力企…

如何保障生物制药企业,HPC环境下数据下载的安全性问题?

许多不同类型的公司和组织可能会使用高性能计算(HPC)来解决各种复杂的问题。制药和生物技术企业使用高性能计算(HPC)的方式多种多样,同时也涉及HPC环境下数据下载安全性问题的考量。主要包括以下几个方面: …

把裤袜换成黑丝(Stable Diffusion进阶篇: ComfyUI 局部重绘)

先让大伙打起精神来 局部重绘 局部重绘适用于那些对整个画面还比较满意,只是想修改部分区域的情况。 在WebUI中通常选择用涂抹重绘区域的方式来让AI知道要重绘哪里,这个被涂抹的区域会被AI识别为黑白区域,白色的部分也就是所谓的重绘蒙版“…

kali中安装zsteg教程

1、下载文件 git clone http://www.github.com/zed-0xff/zsteg 2、第一步需要保证虚拟机是有网络的,不然无法克隆 3、可以将网络设置成如下后重启,访问百度看看能不能访问,若可以访问,则进行下一步 4、查看源,删除源&…

WinForm之TCP服务端

目录 一 原型 二 源码 一 原型 二 源码 using System.Net; using System.Net.Sockets; using System.Text;namespace TCP网络服务端通讯 {public partial class Form1 : Form{public Form1(){InitializeComponent();}TcpListener listener null;TcpClient handler null;Ne…

未实施数据加密的企业,如何快速符合等保2.0标准?

企业若未实施数据加密,想要快速符合等保2.0标准,可以遵循以下步骤: 风险评估与规划: • 首先,进行全面的信息安全风险评估,识别数据处理的关键环节、敏感信息类型及其存储、传输路径。 • 基于评估结果&…

【SpringBoot + Vue 尚庭公寓实战】公寓杂费接口实现(八)

【SpringBoot Vue 尚庭公寓实战】公寓杂费接口实现(八) 文章目录 【SpringBoot Vue 尚庭公寓实战】公寓杂费接口实现(八)1、公寓杂费业务介绍2、公寓杂费逻辑模型介绍3、接口实现3.1、保存或更新杂费值3.2、保存或更新杂费名称3…

使用‘消除’技术绕过LLM的安全机制,不用训练就可以创建自己的nsfw模型

开源的大模型在理解和遵循指令方面都表现十分出色。但是这些模型都有审查的机制,在获得被认为是有害的输入的时候会拒绝执行指令,例如会返回“As an AI assistant, I cannot help you.”。这个安全功能对于防止误用至关重要,但它限制了模型的…

大数据同步方案怎么选,才能提高企业的业务效率?

大数据同步通常指的是在多个数据源或存储系统之间同步数据的过程,可以确保数据的一致性,提高数据的可用性和可靠性,同时支持数据分析和决策制定。 大数据同步的步骤通常包括: 数据识别:确定需要同步的数据类型和范围&…

《Brave New Words 》9.1 AI 世界中的就业

Part IX: Work and What Comes Next 第九部分:工作及其未来发展 The one who plants trees, knowing that he will never sit in their shade, has at least started to understand the meaning of life. —Rabindranath Tagore 种树的人,虽然知道他永远…

next.js开发中页面回退时报Unhandled Runtime ErrorTypeError destroy is not a function

Next.js开发中页面回退时报Unhandled Runtime Error:TypeError: destroy is not a function 问题描述 在Next.js开发中,从A页面跳转到B页面,再使用浏览器回退到A页面时报上述错误: 错误原因 是因为在B页面里,在使用useEffect时…

python接入汇率换算工具提高网站/小程序日活度

实时汇率换算工具可以帮助用户快速准确地计算不同货币之间最新的汇兑比例。无论是金融从业者或者是人们日常生活出行都会使用到,广泛用于国际结算、银行汇率查询应用、开展跨国贸易、投资等参考场景。 我们可以通过在网站或者小程序中接入这样一个小工具&#xff0…

HIGHLANDS - Stylized Environment(山林场景系统)

HIGHLANDS是一个游戏制作工具,包含制作游戏所需的一切。使用一系列模型创建自己的3D世界,使用着色器对其进行自定义,使用粒子效果使其栩栩如生,使用专为此软件包创建的132种声音使场景听起来栩栩如生。 该软件包已针对PC和游戏机进行了优化,尚未在移动和VR平台上进行测试。…

AI视频教程下载-用ChatGPT使Elementor创建高转化率的Clickbank漏斗

Elementor & ChatGPT_ Build Clickbank Bridge Funnel in 2Hours 在WordPress上进行联盟营销:使用Elementor创建高转化率的Clickbank漏斗;无需ClickFunnels,借助ChatGPT。 将您的联盟营销梦想变为现实——轻松且经济实惠!解锁…

网站建设中是什么意思

网站建设(Website Development)是指根据网站的需求,利用各种技术和工具对网站进行策划、设计、开发和测试的过程。一个成功的网站建设过程包括了多个阶段和环节,其中包括需求分析、网站设计、网站开发、测试和发布等。 需求分析是…

k8s+springcloud+nacos部署配置

1 k8s 部署nacos-2.1.2配置k8s-nacos-statefulSet.yaml文件 apiVersion: v1 kind: Service metadata:name: nacos-headlessnamespace: rz-dtlabels:app: nacosannotations:service.alpha.kubernetes.io/tolerate-unready-endpoints: "true" spec:# 3个端口打开&…

[vue2]智慧商城app

项目演示 查看项目效果, 明确功能模块 项目收获 通过该项目的学习, 可以收获的内容 创建项目 创建命令: vue create hm-shopping-app清理项目多余文件清理 路由配置文件 和 App.vue文件新增 API接口目录 和 utils工具方法目录 vant组件库 第三方封装好了很多的组件, 整合起…

数据中台-知识图谱平台

【数据分析小兵】专注数据中台产品领域,覆盖开发套件,包含数据集成、数据建模、数据开发、数据服务、数据可视化、数据治理相关产品以及相关行业的技术方案的分享。对数据中台产品想要体验、做二次开发、关注方案资料、做技术交流的朋友们,可以关注我。 1. 概述 随着…

LabVIEW开发需求制定与管理

LabVIEW开发中的需求制定是确保项目成功的关键环节。本文从用户和开发者的角度详细分析了需求涉及的方面、需求的意义、好的需求和不好需求的区别及其对开发进度和质量的影响,帮助用户和开发者更好地进行需求管理,提升项目的成功率和软件质量。 一、需求…

【CT】LeetCode手撕—5. 最长回文子串

目录 题目1-思路2- 实现⭐5. 最长回文子串——题解思路 3- ACM实现 题目 原题连接:5. 最长回文子串 1-思路 子串的定义:子串是原始字符串的一个连续部分子序列的定义:子序列是原始字符串的一个子集记录最长回文子串的起始位置以及其长度&am…