spark简介

学习教程:

https://www.cnblogs.com/qingyunzong/category/1202252.html

https://www.cnblogs.com/wonglu/p/5901356.html

http://spark.apache.org/docs/latest/quick-start.html

1、什么是spark

目前按照大数据处理类型来分大致可以分为:批量数据处理、交互式数据查询、实时数据流处理,这三种数据处理方式对应的业务场景也都不一样;

  Hadoop适用于Map、Reduce存在的任何场景,具体场景比如:WordCount、排序、PageRank、用户行为分析、数据统计等,而这些场景都算是批量数据处理,而Hadoop并不适用于交互式数据查询、实时数据流处理;

这时候就出现了各种数据处理模型下的专用框架如:Storm、Impala、GraphLab等;

1、Storm:针对实时数据流处理的分布式框架;

2、Impala:适用于交互式大数据查询的分布式框架;

3、GraphLab:基于图模型的机器学习框架;

这时候如果一个团队或一个公司中同时都有设计到大数据批量处理、交互式查询、实时数据流处理这三个场景;这时候就会有一些问题:
  
1. 学习成本很高,每个框架都是不同的实现语言、不同的团队开发的;
1. 各个场景组合起来代价必然会很大;
1. 各个框架中共享的中间数据共享与移动成本高;

  • Spark提供了全面、统一适用于不同场景的大数据处理需求(批量数据处理、交互式数据查询、实时数据流处理、机器学习);

  • spark扩展了广泛使用的MapReduce计算模型。高效的支撑更多计算模式,包括交互式查询和流处理。

  • spark的一个主要特点是能够在内存中进行计算,及时依赖磁盘进行复杂的运算,Spark依然比MapReduce更加高效。

2、spark的组成

image
- SparkCore:将分布式数据抽象为弹性分布式数据集(RDD),实现了应用任务调度、RPC、序列化和压缩,并为运行在其上的上层组件提供API。

  • SparkSQL:Spark Sql 是Spark来操作结构化数据的程序包,可以让我使用SQL语句的方式来查询数据,Spark支持 多种数据源,包含Hive表,parquest以及JSON等内容。

  • SparkStreaming: 是Spark提供的实时数据进行流式计算的组件。

  • MLlib:提供常用机器学习算法的实现库。

  • GraphX:提供一个分布式图计算框架,能高效进行图计算。

  • BlinkDB:用于在海量数据上进行交互式SQL的近似查询引擎。

  • Tachyon:以内存为中心高容错的的分布式文件系统。

3、弹性分布式数据集RDD

教程:https://blog.csdn.net/lbyyy/article/details/53334019

RDD支持两种操作:

  • 转换(transformation operation)转换操作将一个RDD经过操作后返回一个全新的RDD,转换操是lazy(惰性)的这期间不会产生任何数据的计算;

转换函数有:distinct、filter、map、flatMap、union、groupByKey等;
- 行动(action operation)每一个行动操作都会触发Spark Job进行计算并返回最终的结果,

行动操作有这么几类:返回标量,count返回元素的个数;返回Scala集合,task(n)返回0到n-1组成的集合;写入外部存储,saveAsHadoopFile(path)存储到HDFS;

行动函数有:count、top、task、saveAsHadoopFile等;

RDD为不可变的数据集,可以使用转换操作“修改”一个RDD,但这操作过后返回的是一个全新的RDD 原本RDD并没有改变;

image

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小黄鸭and小黑鸭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值