首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Spark基础篇

Spark概述

Spark是一种快速、通用、可扩展的大数据分析引擎,Spark生态系统是一个包含多个子项目的集合,其中包含SparkSQL、Spark Streaming、GraphX、MLlib等子项目,Spark是基于内存计算的大数据并行计算框架,提高了在大数据环境下数据处理的实时性 , 同时保证了高容错性合高可伸缩性,允许用将Spark布置在大量廉价硬件之上,形成集群。

Spark发展史

2009年诞生于加州大学伯克利分校AMPLab,2010年开源,2013年6月成为Apache孵化项目,2014年2月成为Apache顶级项目。

Spark的特点

1.快: 与hadoop的MapReduce相比,Spark基于内存的运算要快100倍以上。Spark实现高效的DAG执行引擎,可以通过基于内存来高效处理数据流。

2.易用:Spark支持Java,Python和Scala的API,还支持超过80种高级算法,使用户可以快速构建不同的应用。

3.通用:Spark提供了统一的解决方案。可以用于批处理,交互式查询,实时流处理,机器学习和图计算。

4.兼容性:Spark可以非常方便地与其他的开源产品进行融合。Spark可以运行在Hadoop,Mesos,Kubernets,standalone或者云上。

RDD概述

RDD是一个弹性的分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变,可分区,里面的元素可并行计算的集合。

RDD特性

1.A list of partitions一个分区列表,RDD中的数据都存在一个分区列表里面。

2.A function for computing each split作用在每一个分区中的函数。

3.A list of dependencies on other RDDs一个RDD依赖于其他多个RDD,这个点很重要,RDD的容错机制就是依据这个特性而来的。

4. Optionally, a Partitioner for key-value RDDs (e.g. to say that the RDD is hash-partitioned)可选的,针对于kv类型的RDD才具有这个特性,作用是决定了数据的来源以及数据处理后的去向。

5.Optionally, a list of preferred locations to compute each split on (e.g. block locations for an HDFS file)可选项,数据本地性,数据位置最优。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190822A07LG000?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券