认识spark和scala,让你月入过万

认识spark

一.了解Spark的特点

1.快速

一般情况下,对于迭代次数较多的应用程序,Spark程序在内存中的运行速度是Hadoop MapReduce运行速度的100多倍,在磁盘上的运行速度是Hadoop MapReduce运行速度的10多倍。主要区别是一个是内存运行,一个是磁盘运行。

2.易用性

Spark支持使用ScalaPythonJavaR语言快速编写应用。同时Spark提供超过80高阶算子,使得编写并行应用程序变得容易并且可以在ScalaPythonR的交互模式下使用Spark

3.通用性

Spark可以与SQLStreaming及复杂的分析良好结合。Spark还有一系列的高级工具,包括Spark SQLMLlib(机器学习库)、GraphX(图计算)和Spark Streaming(流计算),并且支持在一个应用中同时使用这些组件。

4。随处运行

用户可以使用Spark的独立集群模式运行Spark,也可以在EC2(亚马逊弹性计算云)、Hadoop YARN或者Apache Mesos上运行Spark。并且可以从HDFSCassandraHBaseHiveTachyon和任何分布式文件系统读取数据。

5.代码简洁

二.下面认识一下spark的生态圈

Spark Core

Spark的核心,提供底层框架及核心支持。

BlinkDB

一个用于在海量数据上进行交互式SQL查询的大规模并行查询引擎,允许用户通过权衡数据精度缩短查询响应时间,数据的精度将被控制在允许的误差范围内。

Spark SQL

可以执行SQL查询,支持基本的SQL语法和HiveQL语法,可读取的数据源包括HiveHDFS、关系数据库(如MySQL)等。

Spark Streaming

可以进行实时数据流式计算。

MLBase

Spark生态圈的一部分,专注于机器学习领域,学习门槛较低。

MLBase4部分组成:MLlibMLIML OptimizerMLRuntime

Spark GraphX

图计算的应用在很多情况下处理的数据量都是很庞大的。如果用户需要自行编写相关的图计算算法,并且在集群中应用,难度是非常大的。而使用GraphX即可解决这个问题,因为它内置了许多与图相关的算法,如在移动社交关系分析中可使用图计算相关算法进行处理和分析。

SparkR

AMPLab发布的一个R语言开发包,使得R语言编写的程序不只可以在单机运行,也可以作为Spark的作业运行在集群上,极大地提升了R语言的数据处理能力。

三.spark的运用场景非常广泛

例如腾讯广告、Yahoo、淘宝、优酷等,其中一大部分已经深刻的参与进入了我们的生活

认识scala

一.了解scala语言

Scala是Scalable Language的缩写,是一种多范式的编程语言,由洛桑联邦理工学院的马丁·奥德斯在2001年基于Funnel的工作开始设计,设计初衷是想集成面向对象编程和函数式编程的各种特性。Scala 是一种纯粹的面向对象的语言,每个值都是对象。Scala也是一种函数式语言,因此函数可以当成值使用。由于Scala整合了面向对象编程和函数式编程的特性,因此Scala相对于JavaC#C++等其他语言更加简洁。Scala源代码会被编译成Java字节码,因此Scala可以运行于Java虚拟机(Java Virtual MachineJVM)之上,并可以调用现有的Java类库。

二.了解Scala特性

1.面向对象

2.函数式编程

3.静态类型

4.可扩展

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值