Spark基础

一、Spark是一个快速且通用的集群计算平台。

Spark是快速的:

Spark扩充了流行的MapReduce计算模型;

Spark是基于内存的计算。

Spark是通用的:

Spark的设计容纳了其它分布式系统拥有的功能;

批处理,迭代式计算,交互查询和流处理等。

优点:降低了维护成本。

Spark是高度开放的:

Spark提供了Python、Java、Scala、SQL的API和丰富的内置库。

Spark和其它的大数据工具整合的很好,包括Hadoop,kafka等。

二、Spark历史。

诞生于2009年,加州大学伯克利分校RAD实验室的一个研究项目

最初是基于Hadoop MapReduce的

发现MapReduce在迭代式计算和交互式上低效,引入了内存存储

2010年3月份Spark开源

2011年AMP实验室在Spark上开发高级组件,像Spark Streaming

2013年转移到了Apache下,不久便成为顶级项目

三、Spark包括多个紧密集成的组件。

Spark Core:

  包含Spark的基本功能,包含任务调度,内存管理,容错机制等。
  内部定义了RDDs(弹性分布式数据集)。
  提供了很多APIs来创建和操作这些RDDs。
  应用场景,为其他组件提供底层的服务。

Spark SQL:

  是Spark处理结构化数据的库,就像Hive SQL,Mysql一样。
  应用场景,企业中用来做报表统计。

Spark Streaming:

  是实时数据流处理组件,类似Storm。
  Spark Streaming提供了API来操作实时流数据。
  应用场景,企业中用来从Kafka接收数据做实时统计。

MLlib:

  一个包含通用机器学习功能的包,Machine learning lib。
  包含分类、聚类、回归等,还包括模型评估,和数据导入。
  MLlib提供的上面这些方法,都支持集群上的横向扩展。
  应用场景,机器学习。

Graphx:

  是处理图的库(例如,社交网络图),并进行图的并行计算。
  像Spark Streaming,Spark SQL一样,它也继承了RDD API。
  它提供了各种图的操作,和常用的图算法,例如PageRank算法。
  应用场景,图计算。

Cluster Managers:

  就是集群管理,Spark自带一个集群管理是单独调度器。
  常见集群管理包括Hadoop YARN,Apache Mesos

紧密集成的优点:

Spark底层优化了,基于Spark底层的组件,也得到了相应的优化。

紧密集成,节省了各个组件组合使用时的部署,测试等时间。

向Spark增加新的组件时,其它组件,可立刻享用新组件的功能。

四、Spark与Hadoop的比较

Hadoop应用场景:

离线处理

对时效性要求不高(中间数据在硬盘上)

Spark应用场景

时效性要求高的场景(中间数据多在内存)

机器学习等领域

Doug Cutting的观点:

这是生态系统,每个组件都有其作用,各善其职即可

Spark不具有HDFS的存储能力,要借助HDFS等持久化数据。

大数据将会孕育出更多的新技术。

五、Spark基础介绍

Spark的Shell:

Spark的shell使你能够处理分布在集群上的数据。

Spark把数据加载到节点的内存中,因此分布式处理可在秒级完成。

快速使迭代式计算,实时查询、分析一般能够在shells中完成。

Spark提供了Python shells和Scala shells。

  Python Shell:
  在bin/pyspark目录中,使用 exit(); 退出pyspark

  Scala Shell:
  在bin/spark-shell目录中

【注】修改日志级别log4j.rootCategory=WARN,console

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值