Spark Full-Stack Data Analytics cover

Spark Full-Stack Data Analytics

No rating yet
Word count
413 words
Chapters
40
ISBN
9787121351662

Tags

Summary

Originally published in English as Agile Data Science 2.0: Building Full-Stack Data Analytics Applications with Spark, this book draws on Russell Jurney's experience building analytical products at companies such as LinkedIn and Ning to set out a practical methodology for doing data science in an agile way. With Spark as the core processing engine, it connects the entire chain—from event data collection and serialized storage, through batch and stream processing, to publishing data with MongoDB, providing search with Elasticsearch, and presenting charts and reports on the front end—grounding "data science" in an analytical application that can actually be delivered to users. The book is divided into two parts. Part I, "Preparation," explains the methodology of agile data science and the division of roles within a team, introduces the selection of a toolset and the setup of local and cloud environments (Vagrant, EC2, Jupyter notebooks), and presents the example dataset used throughout; it covers the basics of tools including Python 3, JSON lines and Parquet serialization, Spark data processing, MongoDB, Elasticsearch, Apache Kafka, and PySpark Streaming. Part II, "Climbing the Pyramid," is a step-by-step tutorial for building an analytical application: collecting and displaying flight records, adding charts for visualization, exploring entity relationships in the data through interactive reports, predicting whether flights will be on time, deploying the prediction system, and then iterating to improve prediction performance. An appendix provides a complete installation guide. The book does not aim for mathematical depth in algorithms but emphasizes the engineering loop that "makes data valuable," making it suitable as a first full-stack practical book for data science beginners and engineers changing roles.

Editor's review

市面上的 Spark 书大多止步于算子与调优,这本却难得地把“全栈”两个字落到实处:数据从 Kafka 进来,经 Spark 处理,写进 MongoDB、Elasticsearch,最后由前端图表和报表呈现给用户——一条完整的数据产品链路被拆成九章,按敏捷迭代一步一步走完。 作者的写法很像结对编程:每章都在前一章的应用上再加一层,收集航班记录、画图、做交互式报表、训练准点预测模型、把模型部署上线,再回头改进效果。读者跟着敲完,手里会有一个可以运行、可以演示的东西,而不是一堆零散的知识点。书中还专门讨论了数据科学团队的角色分工、如何设置预期、如何与技术债相处,这些“非技术”内容恰恰是新人最容易踩坑的地方。 需要提醒的是,本书原版写作于 Spark 2.x 与 Python 3 早期年代,涉及的工具版本(Elasticsearch、Kafka、MongoDB、Jupyter)在今天看来偏旧,环境搭建部分可能需要自行排错。建议把它当作方法论与工程结构的参考书,而不是版本速查手册;附录的安装手册也最好先在本机或容器里跑通,再进入正文。

Who it's for

A good fit for

  • 初入数据科学领域、希望做出完整可演示项目的学习者
  • 有后端或前端开发经验、希望转向数据工程的工程师
  • 需要搭建数据分析平台、理解各组件的技术负责人
  • 数据分析师:想把分析结果落成面向用户的应用

Not a good fit for

  • 希望系统深入 Spark 内核、调优与源码的读者
  • 只想学习机器学习算法推导与统计理论的读者
  • 完全零编程基础、需要从语言入门学起的读者

Reading tips

  1. 先按附录A在本地或云主机上把环境跑通,再进入正文,避免边读边卡在安装上
  2. 第Ⅰ部分只求“过一遍”,不必纠缠细节;把注意力放在第Ⅱ部分的迭代流程上
  3. 可以自己准备一份规模更小的数据集替换航班数据,完整走一遍收集到部署的闭环
  4. 书中工具版本较旧,遇到依赖冲突时优先查阅各项目当前官方文档而非照搬书中的版本号

About the publisher

Publishing House of Electronics Industry China · Founded in 1982

The Publishing House of Electronics Industry is a comprehensive publisher distinguished by its focus on electronic information and related fields. Judging from the more than 3,000 titles in its catalogue, its publishing covers programming and design, artificial intelligence, computer science, finance and economics, photography, and social sciences, attending both to cutting-edge technology and to general readers. Representative titles include Factor Investing: Methods and Practice, x86 Assembly Language: From Real Mode to Protected Mode, The RISC-V Reader, Artificial Intelligence: Speech Recognition, Understanding and Practice, Phased Array Radar Technology, Radar Target Characteristics, and 100 Go Mistakes and How to Avoid Them, most of which centre on technical methods and engineering practice. Its authors include Shi Chuan, Li Zhong, Wang Xiaobo, David Patterson, Andrew Waterman, and Yu Zihao, among others from China and abroad. Owing to limited public information, no further publishing features are elaborated here.

Contents

  1. Foreword
  2. Part I Preparation
  3. Chapter 1 Theory
  4. Introduction
  5. Definitions
  6. Methodology
  7. The Agile Data Science Manifesto
  8. The Problem with Waterfall
  9. Research and Application Development
  10. The Problem with Agile Software Development
  11. The Ultimate Quality: Paying Down Technical Debt
  12. The Data Science Process
  13. Setting Expectations
  14. The Roles of a Data Science Team
  15. Recognizing Opportunities and Challenges
  16. Adapting to Change
  17. Things to Watch Out for in the Process
  18. Code Review and Pair Programming
  19. The Agile Development Environment: Improving Productivity
  20. Using Large Printouts to Capture Ideas
  21. Chapter 2 Agile Tools
  22. Scalability = Usability
  23. Data Processing for Agile Data Science
  24. Setting Up a Local Environment
  25. Configuration Requirements
  26. Configuring Vagrant
  27. Downloading the Data
  28. Setting Up an EC2 Environment
  29. Downloading and Running the Code
  30. Jupyter Notebooks
  31. Toolset Overview
  32. Requirements for an Agile Development Tool Stack
  33. Python 3
  34. Serializing Events with JSON Lines and Parquet
  35. Collecting Data
  36. Data Processing with Spark
  37. Publishing Data with MongoDB
  38. Searching Data with Elasticsearch
  39. Distributing Stream Data with Apache Kafka
  40. Processing Stream Data with PySpark Streaming

FAQ

这本书和常见的 Spark 技术书有什么区别?
它不以讲透 Spark 内部机制为目标,而是以 Spark 为处理核心,串起采集、存储、搜索、前端展示与预测部署的全链路,重点在于用敏捷方式把一个分析应用真正做出来,更接近工程实践手册。
没有 Spark 基础能读吗?
可以。书中第Ⅰ部分会介绍工具集与基本用法,但默认读者具备 Python 编程能力并熟悉类 UNIX 命令行环境。完全没有编程基础的话,建议先补 Python 与 Linux 基础。
书中的代码和工具版本还能直接跑吗?
原版成书较早,涉及的 Spark、Elasticsearch、Kafka、MongoDB 版本与当前差距较大,直接照搬可能出现依赖问题。建议以理解架构和方法论为主,具体版本以各项目官方文档为准。
书里用的是 Python 还是 Scala?
全书主体使用 Python 3 与 PySpark,包括用 PySpark Streaming 处理流数据,前端部分则以 Web 应用和图表展示为主。对不熟悉 Scala 的读者比较友好。
读完能做出什么?
按第Ⅱ部分跟下来,会得到一个以航班数据为例、包含记录展示、交互图表、报表探索与准点预测的分析应用,并能走完部署与迭代改进的流程,可作为自己的项目作品。

Comments

Find this book

This site is an index: you start “Search all sources” in your browser, and the entries it lists all point to third-party sites; please judge their availability yourself.

Top rated in the same category