| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> Spark初识 -> 正文阅读 |
|
[大数据]Spark初识 |
1.Spark的背景、定义、特点 ? ? ? ? 背景 ? ? ? ? ? ? ? ? MapReduce框架局限性 ? ? ? ? ? ? ? ? ? ? ? ? 仅支持Map和Reduce两种操作,提供给用户的只有这两种操作 ? ? ? ? ? ? ? ? ? ? ? ? 编程复杂度略高,学习和使用成本略高 ? ? ? ? ? ? ? ? ? ? ? ? 处理效率较低 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Map中间结果写磁盘,Reduce写HDFS,多个MR之间通过HDFS交换数据 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 任务调度和启动开销大 ? ? ? ? ? ? ? ? ? ? ? ? ????????在机器学习、图计算等方面支持有限,性能效果表现比较差。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? mapreduce的机器学习框架,称为mahout。 ? ? ? ? 定义 ? ? ? ? ? ? ? ? 专为大规模数据处理而设计的快速通用的计算引擎,并形成一个高速发展应用广泛的生态系统 ? ? ? ? 特点 ? ? ? ? ? ? ? ? 速度快 ? ? ? ? ? ? ? ? ? ? ? ? 内存计算下,Spark比Hadoop块100倍 ? ? ? ? ? ? ? ? 易用性 ? ? ? ? ? ? ? ? ? ? ? ? 80多个高级运算符 ? ? ? ? ? ? ? ? ? ? ? ? 跨语言:使用Java,Scala,Python,R和SQL快速编写应用程序。 ? ? ? ? ? ? ? ? 通用性 ? ? ? ? ? ? ? ? ? ? ? ? Spark 提供了大量的库,包括SQL、DataFrames、MLib、GraphX、Spark Streaming。 ? ? ? ? ? ? ? ? ? ? ? ? 开发者可在同一个应用程序中无缝组合这些库 ? ? ? ? 支持多种资源管理器 ? ? ? ? ? ? ? ? ? ? ? ? Spark支持Hadoop YARN,Apache Mesos,及其自带的独立集群管理器 ? ? ? ? 生态组件丰富与成熟 ? ? ? ? ? ? ? ? ? ? ? ? Spark streaming:实时数据处理 ? ? ? ? ? ? ? ? ? ? ? ? shark/sparkSQL:用sql语句操作spark引擎 ? ? ? ? ? ? ? ? ? ? ? ? sparkR:用R语言sql语句操作spark ? ? ? ? ? ? ? ? ? ? ? ? mlib:机器学习算法库 ? ? ? ? ? ? ? ? ? ? ? ? graphx:图计算组件 2.在Hadoop生态圈中位置 ? ? ? ? 在hadoop生态圈位置 ???????? ? ? ? ? ?spark生态圈 ? ? ? ?? ? ? ? ? ?Spark Core:包含Spark的基本功能;尤其是定义RDD(弹性分布式数据集,resilient distributed dataset)的API、操作以及这两者上的动作。其他Spark的库都是构建在RDD和Spark Core之上的 ? ? ? ? Spark SQL:提供通过Apache Hive 的SQL变体Hive查询语言(HiveQL)与Spark进行交互的API。每个数据库表当作一个RDD,Spark SQL 查询被转换为Spark操作。 ? ? ? ? Spark Streaminig:对实时数据流进行处理和控制。Spark Streaming 允许程序能够像普通RDD一样处理实时数据 ? ? ? ? MLib:一个常用机器学习算法库,算法被实现为对RDD的Spark操作。这个库包含可扩展的学习算法,比如分类、回归等待需要对大量数据进行迭代的操作。 ? ? ? ? GraphX:控制图、并行图操作个计算的一组算和工具的集合。GraphX扩展了RDD API,包含控制图、创建子图、访问路径上所有顶点的操作 ? ? ? ? SparkR是一个提供从R中使用Spark的轻量级前端的R包。在Spark1.6以后,SparkR提供了分布式数据框架,它支持selection,filtering,aggregation等操作。也支持使用MLib分布式机器学习 3.版本发展与就业前景 ? ? ? ? 版本发展 ? ? ? ? ? ? ? ? 重要里程碑 ? ? ? ? 稳定版本一览(2016年至今) ??? ?Spark 3.1.2 (06.11 2021) 较经典的版本为1.X中的1.6.2版本和2.X中的2.3.2,成熟稳定,市占率高。 ? ? ? ? Spark1.x与2.x的优缺点对比 ? ? ? ? ? ? ? ? 优点 ? ? ? ? ? ? ? ? ? ? ? ? API抽象更高级、更统一,包括在spark-core,sparksql,sparksession等方面,学习更简单,开发效率更高,执行效率综合提升更明显。 ? ? ? ? ? ? ? ? ? ? ? ? 统一DataFrames和DataSets,API进行了全部统一,简化学习和编程复杂度。 ? ? ? ? ? ? ? ? ? ? ? ? 基本定位是底层API变成沿用RDD,高级API编程均为DataSets,而大多数情况下用DataSets均可以解决问题。 ? ? ? ? ? ? ? ? ? ? ? ? spark-streaming基于sparksql进行了API更高级抽象,即structured streaming(结构化流程),易用性和性能提高。 ? ? ? ? ? ? ? ? ? ? ? ? 对诸多组件中的旧的rdd计算了哟及用dataFrame或DataSet进行了重写优化,并扩充了更多的算法。 ? ? ? ? ? ? ? ? 缺点 ? ? ? ? ? ? ? ? ? ? ? ? 与以前版本不是很兼容,只是绝大部分兼容 ? ? ? ? ? ? ? ? ? ? ? ? 相对于1.6.x来讲,稳定性略差,bug不断 ? ? ? ? ? ? ? ? 结论 就业前景 ? ? ? ? ? ? ? ? 成熟度相比于hadoop还差一些,但自身迭代和生态圈发展很快。 ? ? ? ? ? ? ? ? 业务对是要求日益增高,各大公司和小公司都在积极调研转向spark,都需要spark、用spark的人 ? ? ? ? ? ? ? ? spark特别适用于迭代运算比较多的机器学习算法,而机器学习正在如火如荼发展中。 ? ? ? ? ? ? ? ? spark未来可能会取代MapReduce,但与Hasoop仍会发生友好共生 ? ? ? ? ? ? ? ? 基于内存计算是最大的优势,而内存瓶颈会越来越少,古spark的爆发点还有很大空间 ? ? ? ? ? ? ? ? 总结:岗位需求量和发展前景都很广阔,是未来3—5年的技术应用最大热门 ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 4:58:58- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |