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应用程序的方方面面。
问题
-
我想知道SPARK与HADOOP之间的比较,在不同应用场景中如何选择
目前来看两者定位不太相同,HADOOP包含了HDFS、MapReduce、YARN三个组件,覆盖了分布式文件存储、计算、资源调度三个领域,SPARK定位仅是计算,所以是对其中MapReduce组件的替代。 -
spark的起步价和应用场景以及怎么解决这些难题的
由于分布式计算的特性,涉及到不同机器间的通讯问题,所以会有一定的初始成本,比如序列化、Shuffle等,Spark由于大量采用了内存处理,相比于Hadoop,起步价问题已经有了很大的缓存。但对于容量和时效不需要分布式计算的场景,肯定仍然是Oracle等传统技术更快。
关于
小课堂是在公司进行内部交流的一系列主题,偏基础,但是比较零散,持续更新中。