Spark小课堂Week1 Hello Spark

Spark小课堂Week1 Hello Spark

看到Spark这个词,你的第一印象是什么?

  • 这是一朵"火花",官方的定义是Spark是一个高速的、通用的、分布式计算系统!!!

  • 用途:进行大数据计算,这里要注意,大数据是一个相对概念,并没有绝对的量化指标,一般我们认为在业务特定场景要求下,一台机器处理不了的数据都能称为大数据。

  • 前身:大数据计算的开山鼻祖Hadoop,Spark和Hadoop的主要区别就是更快,更通用。

  • 功能:Spark内核设计的非常通用,具有很高的扩展性,目前已经发展出了sql、streaming、机器学习、图计算等组件。

  • 架构:核心架构还是mapreduce,这个模型更加考虑计算的可靠性,对于极端追求性能的场景并不适合。

我们为什么要学Spark

  • 从整个技术发展来看,分布式技术是趋势,逆水行舟,不进则退,学习分布式技术可以让我们不落后于时代。

  • Spark定位非常通用,而且其设计思路比较前沿,是一个学习分布式系统的捷径。

  • Spark代码本身非常简洁高效,其核心代码只有3W多行,是一个非常好的代码学习教材。

从哪里入手去学Spark

  • 传统方法:看教程、文档,尤其想要说明的是Spark而代码本身质量很高,所以代码和注释也是非常好的教材。

  • 实战:搭个小环境跑一跑,尤其结合日志和监控信息等进行分析。

  • 切入:推荐从SparkStreaming切入,因为我们平时开始一般都是应用程序,而Streaming是Spark官方开发的一个应用程序,通过学习,我们可以了解到开发一个Spark应用程序的方方面面。

问题

  1. 我想知道SPARK与HADOOP之间的比较,在不同应用场景中如何选择
    目前来看两者定位不太相同,HADOOP包含了HDFS、MapReduce、YARN三个组件,覆盖了分布式文件存储、计算、资源调度三个领域,SPARK定位仅是计算,所以是对其中MapReduce组件的替代。

  2. spark的起步价和应用场景以及怎么解决这些难题的
    由于分布式计算的特性,涉及到不同机器间的通讯问题,所以会有一定的初始成本,比如序列化、Shuffle等,Spark由于大量采用了内存处理,相比于Hadoop,起步价问题已经有了很大的缓存。但对于容量和时效不需要分布式计算的场景,肯定仍然是Oracle等传统技术更快。

关于

小课堂是在公司进行内部交流的一系列主题,偏基础,但是比较零散,持续更新中。

posted @ 2016-07-24 07:54  哎哟慰  阅读(264)  评论(0编辑  收藏  举报