序言
江苏传智播客教育科技股份有限公司(简称传智播客)是一家致力于培养高素质软件开发人才的科技公司,“黑马程序员”是传智播客旗下高端IT教育品牌。
“黑马程序员”的学员多为大学毕业后,想从事IT行业,但各方面条件还不成熟的年轻人。“黑马程序员”的学员筛选制度非常严格,包括了严格的技术测试、自学能力测试,还包括性格测试、压力测试、品德测试等。百里挑一的残酷筛选制度确保学员质量,并降低企业的用人风险。
自“黑马程序员”成立以来,教学研发团队一直致力于打造精品课程资源,不断在产、学、研三个层面创新自己的执教理念与教学方针,并集中“黑马程序员”的优势力量,有针对性地出版了计算机系列教材80多种,制作教学视频数十套,发表各类技术文章数百篇。
“黑马程序员”不仅斥资研发IT系列教材,还为高校师生提供以下配套学习资源与服务。
为大学生提供的配套服务
1. 请登录“高校学习平台”http://yx.ityxb.com,免费获取海量学习资源,帮助高校学生解决学习问题。
2. 针对高校学生在学习过程中存在的压力等问题,我们还面向大学生量身打造了“IT技术女神”——“播妞学姐”,可提供教材配套源码和习题答案,以及更多IT学习资源,同学们快来关注“播妞学姐”的微信公众号:boniu1024。
“播妞学姐”微信公众号
为教师提供的配套服务
针对高校教学,“黑马程序员”为IT系列教材精心设计了“教案+授课资源+考试系统+题库+教学辅助案例”的系列教学资源,高校老师请登录“高校教辅平台”http://yx.ityxb.com或关注码大牛老师微信/QQ:2011168841,获取教材配套资源,也可以扫描下方二维码,加入专为IT教师打造的师资服务平台——“教学好助手”,获取最新教师教学辅助资源的相关动态。
Spark大数据分析与实战
为什么要学习本书
Apache Spark是用于大规模数据处理的统一分析引擎,具有高效性、易用性、通用性、兼容性四大特性,并且在Spark生态体系中,包含了离线数据、流式数据、图计算、机器学习、NoSQL查询等多个方面的解决方案,深受广大大数据工程师及算法工程师的喜爱。对于想从事大数据行业的开发人员来说,学好Spark尤为重要。
Spark技术功能强大,涉及知识面较广,零基础的同学很难踏入Spark体系架构之中,因此本书采用理论和案例相结合的编写方式,用通俗易懂的语言讲解复杂、难以理解的原理,每章都包含多个案例,让读者学以致用。
关于本书
作为大数据技术Spark的入门教程,最重要且最难的一件事情就是将一些复杂、难以理解的思想和问题简单化,让初学者能够轻松理解并快速掌握。本教材对每个知识点都进行了深入分析,并针对每个知识点精心设计了相关案例,然后模拟这些知识点在实际工作中的运用,真正做到了知识的由浅入深、由易到难。
本书共分为9章,接下来分别对每个章节进行简单的介绍,具体如下。
第1章主要讲解什么是Scala以及Scala编程相关知识。通过本章学习,读者应掌握Scala环境的安装配置,熟悉Scala语法规范,并实现使用Scala语言编写自己的第一个程序。
第2章主要介绍什么是Spark,以及搭建Spark集群的方式,并通过Spark Shell学习Spark的基本操作方法。通过本章学习,读者应能独立搭建Spark集群,同时对Spark系统的基础操作和基本原理有初步了解。
第3章主要介绍什么是Spark RDD、RDD的处理过程以及操作RDD的方式。通过本章的学习,读者可以了解RDD处理数据核心思想,并且能够使用RDD编程解决实际问题。
第4章主要介绍Spark SQL的数据模型DataFrame和Dataset,它是一个由多个列组成的结构化的分布式数据集合,类似于关系数据库中的表概念。通过本章的学习,读者应能够掌握利用Spark SQL操作MySQL和Hive两种常见数据源。
第5章主要介绍HBase分布式数据库的数据模型以及操作方式。通过本章学习,读者能够掌握部署HBase集群的方法,了解HBase存储数据的架构原理,并且能够使用HBase分布式数据库解决实际业务问题。
第6章主要介绍Kafka流处理平台,Kafka是流式计算系统中常见的辅助工具,通过Kafka工作原理的学习,读者能够了解Kafka集群整体架构中各个组件的功能,以及Kafka写入数据和消费数据的底层原理及操作方式。通过本章学习,读者能够掌握部署Kafka集群的方法,并能够通过执行命令和API方式操作Kafka。
第7章主要介绍Spark Streaming的相关知识,Spark Streaming是Spark生态系统中实现流式计算功能的重要组件。通过本章Spark Streaming案例式讲解,读者能够掌握Spark Streaming程序的开发步骤,及与Kafka整合使用的方法。
第8章主要介绍Spark MLlib,它是Spark提供的机器学习库,其中整合了统计、分类、回归、过滤等主流的机器学习算法和丰富的API,降低用户使用机器学习的难度。通过本章学习,读者能够了解利用Spark完成机器学习的方式,即获取数据集,调用训练模型算法得出模型,通过模型分析当前数据。
第9章主要介绍利用Spark构建实时交易数据统计案例的开发流程。通过本章学习,读者能够了解实时计算项目的基本架构模型,以及本项目统计商品成交额的需求实现方式。
致谢
本书的编写和整理工作由传智播客教育科技股份有限公司完成,主要参与人员有吕春林、高美云、翟振方、文燕等,全体人员在这近一年的编写过程中付出了许多辛勤的汗水。除此之外,还有传智播客600多名学员参与到了教材的试读工作中,他们站在初学者的角度对教材提出了许多宝贵的修改意见,在此一并表示衷心的感谢。
意见反馈
尽管我们付出了最大的努力,但书中难免会有欠妥之处,欢迎各界专家和读者朋友提出宝贵意见,我们将不胜感激。您在阅读本书时,如果发现任何问题或有不认同之处可以通过电子邮件与我们取得联系。
请发送电子邮件至itcast_book@vip.sina.com。
黑马程序员
2019年7月 前言Spark大数据分析与实战
