写在前面:此书很棒,但需要一定的编程功底,此外强烈建议买书,因为很多架构图、算子列表,我也不会摘抄下来。


第一章 简介

1.Spark执行的特点

Hadoop中包含计算框架MapReduce和分布式文件系统HDFS等。

Spark是MapReduce的替代方案,且兼容HDFS, Hive等分布式存储层,融入Hadoop的生态系统,并弥补MapReduce的不足。

①中间结果输出

Spark将执行工作流抽象为通用的有向无环图(DAG)执行计划,可将多Stage的任务串联或并行执行,而无须将Stage的中间结果输出到HDFS中,类似的引擎包括Flink, Dryad, Tez等。

②数据格式和内存布局

RDD: 支持粗粒度的写操作,但对于读操作可精确到每条记录

Spark的特性是能控制不同节点上的分区,用户可自定义分区策略

③执行策略

Spark执行过程中,不同Stage之间须进行Shuffle

Shuffle是链接有依赖的Stage的桥梁,上游Stage输出到下游Stage必须经过Shuffle

Spark Shuffle支持基于Hash或排序的分布式聚合机制。

④任务调度的开销

Spark采用了事件驱动的类库AKKA来启动人物,通过线程池的复用线程来避免系统启动和切换开销

第二章 Spark开发与环境配置

第三章 BDAS简介

1.Spark生态系统BDAS

BDAS是博客里大学提出的基于Spark的数据分析栈。

其框架核心是Spark,同时涵盖Spark SQL, MLBase, MLlib, GraphX, Spark Streaming, 近似查询引擎BlinkDB,内存分布式文件系统Techyon, 资源管理框架Mesos等子项目。

①SQL on Spark

AMPLab将大数据分析负载分为三类:批量数据处理、交互式查、实时流处理

据Spark峰会2014上博客里大学的Big Data Benchmark测试结果,Shark in Memory效率是Hive的100倍,即便On Disk也有10倍于Hive的效率。 作为Shark的进化版本, Spark SQL性能更优于Shark。

SQL经过查询优化其最终转化为一个执行计划树,而Spark SQL还会将这个执行计划树转化为DAG再执行。

整个Catalyst是Spark SQL的调度核心。

②Spark Streaming

Spark Streaming讲数据流以时间片为单位分割成RDD,使用RDD处理每一块数据。

每块数据(RDD)都会生成一个Spark Job进行处理,最终以批处理的方式处理每个时间片的数据。

Spark Streaming将Dstream操作转换为Dstream DAG, 对每个时间片,Dstream DAG产生一个RDD DAG。

之后的操作就回归了Spark主线,Job->JobManager->Spark DAG Scheduler, 最后发给Executor.

③GraphX

GraphX实现了大规模图计算的功能,是常见的图算法在Spark上并行化的实现,同时提供了丰富的API。

GraphX的特点是离线计算,批量处理。基于同步的BSP模型(Bulk Synchronous Parallel Computing Model, 整体同步并行计算模型),这样的优势在于可以提升数据处理的吞吐量和规模,但是会造成速度上稍逊一筹。

目前大规模图处理框架还有基于MPI模型的异步图计算模型GraphLab和同样基于BSP模型的Graph等。

现在和GraphX可以组合使用的分布式图数据库是Neo4J,Neo4J是一个高性能的、菲关系的、具有完全事务特性的、鲁棒的图数据库。

另一个数据库是Titan,Titan是一个分布式的图形数据库,特别为存储和处理大规模图形数据而优化。

GraphX的操作符介绍:本书P46-48

④MLlib

MLlib是构建在Spark上的分布式机器学习库,充分利用了Spark的内存计算和适合迭代型计算的特性,性能得到优化。

MLlib是AMPLab的在研机器学习项目MLBase的底层组件,MLBase收一个机器学习平台,MLI是接口层,提供很多结构,MLlib是底层算法实现层。

K-means 算法浅析

https://zhuanlan.zhihu.com/p/20432322

比knn稍微复杂一些,还没理解更新cluster中心点后,怎样去更新已有的cluster内数据点

(即牧师每一次移动不可能离所有人都更近,有的人发现A牧师移动以后自己还不如去B牧师处听课更近,于是每个居民又去了离自己最近的布道点……)

源码直接看书

第四章 Lamda架构日志分析流水线

TODO

mllib逻辑回归 spark_《Spark大数据分析实战》笔记相关推荐

  1. 《Spark大数据分析实战》——1.4节弹性分布式数据集

    本节书摘来自华章社区<Spark大数据分析实战>一书中的第1章,第1.4节弹性分布式数据集,作者高彦杰 倪亚宇,更多章节内容可以访问云栖社区"华章社区"公众号查看 1. ...

  2. mllib逻辑回归 spark_大数据技术之Spark mllib 逻辑回归

    本篇教程探讨了大数据技术之Spark mllib 逻辑回归,希望阅读本篇文章以后大家有所收获,帮助大家对大数据技术的理解更加深入. 逻辑回归 逻辑回归其实是一个分类算法而不是回归算法.通常是利用已知的 ...

  3. Spark大数据分析入门笔记

    目录 二.Spark特征 三.Spark整体工作流程 四.Spark运行方式 五.Spark SQL 1.Spark SQL兼容性 2.Spark SQL编码方式tips 3.Spark SQL数据格 ...

  4. Spark大数据分析实战-公司销售数据分析

    文章目录 需求 一.数据字段说明 1.1 日期数据 1.2 订单头数据 1.3 订单明细数据 二.分析步骤 2.1 计算所有订单中每年的销售单数.销售总额. 2.2 计算所有订单中每年的最大金额订单的 ...

  5. 大数据分析实战-信用卡欺诈检测(五)-逻辑回归模型

    大数据分析实战-信用卡欺诈检测(一) 大数据分析实战-信用卡欺诈检测(二)-下采样方案和交叉验证 大数据分析实战-信用卡欺诈检测(三)- 模型评估 大数据分析实战-信用卡欺诈检测(四)-正则化惩罚 逻 ...

  6. Spark大数据分析与实战:基于Spark MLlib 实现音乐推荐

    Spark大数据分析与实战:基于Spark MLlib 实现音乐推荐 基于Spark MLlib 实现音乐推荐 一.实验背景: 熟悉 Audioscrobbler 数据集 基于该数据集选择合适的 ML ...

  7. 《Spark大数据分析:核心概念、技术及实践》大数据技术一览

    本节书摘来自华章出版社<Spark大数据分析:核心概念.技术及实践>一书中的第1章,第1节,作者穆罕默德·古勒(Mohammed Guller)更多章节内容可以访问云栖社区"华章 ...

  8. 《Spark大数据分析:核心概念、技术及实践》一1.5 NoSQL

    本节书摘来自华章出版社<Spark大数据分析:核心概念.技术及实践>一书中的第1章,第1.5节,作者[美] 穆罕默德·古勒(Mohammed Guller),更多章节内容可以访问云栖社区& ...

  9. 超详攻略!Databricks 数据洞察 - 企业级全托管 Spark 大数据分析平台及案例分析

    简介: 5分钟读懂 Databricks 数据洞察 ~ 更多详细信息可登录 Databricks 数据洞察 产品链接:https://www.aliyun.com/product/bigdata/sp ...

最新文章

  1. POJ 1426 Find The Multiple
  2. 文本特征选择 java代码_文本分类入门(十)特征选择算法之开方检验
  3. Dubbo3.0|阿里巴巴服务框架三位一体的选择与实践
  4. Excel Oledb设置
  5. javabean与json转换(fastjson与jackson两个版本)
  6. 薅羊毛 Colab使用外部数据的7种方法!
  7. #开工新姿势#开启一年新征程,云社区叫你来充电啦!
  8. 新冠状病毒显微放大品质背景,让你做相关项目更具专业性。
  9. 高中会考access数据库_高中信息技术ACCESS数据库上机操作复习课教案
  10. 如何更全面的认识 MongoDB ?
  11. 2021-07-09商场主页及分类
  12. OpenCV学习笔记(十五)——k近邻算法
  13. 东芝u盘写保护无法格式化解决方案
  14. Python习题——2018-03-28作业
  15. MATLAB - 数字信号包络线的求取
  16. Cannot mix different versions of joi schemas
  17. zynq usb dwc3中断事件异常
  18. 虚拟机安装之用户在命令行上发出了EULAS AGREED=1,表示不接受许可协议(虚拟机卸载残留)
  19. z怎么搭建linux网站,Linux znew初学者命令实例教程
  20. 如何绘画人物的衣服?人物的服装怎么上色?

热门文章

  1. c语言中把时间拷到字符串中,C语言中将日期和时间以字符串格式输出的方法
  2. 合同相似可逆等价矩阵的关系及性质_行列式的性质问题
  3. 如何安装mysql5.7.2_CentOS 7.2 安装MySQL 5.7
  4. Java 获取集合长度
  5. C++ 三种继承方式
  6. php 伪静态 获取当前页面路径_织梦移动适配PHP获取当前页面URL地址方法
  7. 李沐老师《动手学深度学习》课程总结1
  8. ubuntu16 黑主题_给Ubuntu 8.10安装超炫酷黑色新主题
  9. emulator教程 lbochs pc_bochs 开启调试选项
  10. 神秘的安全测试思考案例(一)