Spark sprak与scala 介绍

一.介绍

        Spark是一种基于内存的快速、通用、可扩展的大数据分析计算引擎。

二.特点

        快速(计算的中间结果是存在于内存中),易用,通用,随处运行,代码简洁。

hadoop对比版本历史

spark 与 mapreduce 比对

三.生态圈

Spark Core

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

Spark Streaming

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

BlinkDB

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

Spark SQL

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

MLBase

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

MLBase4部分组成:MLlibMLIML OptimizerMLRuntime

MLlib部分算法如下。

Spark GraphX

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

SparkR

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

四.spark构架客户端

用户提交作业的客户端

Driver

运行Applicationmain()函数并创建SparkContext

SparkContext

整个应用的上下文,控制应用的生命周期。

Cluster Manager

资源管理器,即在集群上获取资源的外部服务,目前主要有StandaloneSpark原生的资源管理器)和YARNHadoop集群的资源管理器)。

SparkWorker

集群中任何可以运行应用程序的节点,运行一个或多个Executor进程。

Executor

执行器,在Spark Worker上执行任务的组件、用于启动线程池运行任务。每个Application拥有独立的一组Executor

Task

被发送到某个Executor的具体任务。

五.sprak 的作业运行流程

spark 有三种运行模式  ,Stand alone ,YARN , Mesos

六.核心数据集RDD

RDDResilient Distributed Datasets弹性分布式数据集),可以简单的把RDD理解成一个提供了许多操作接口的数据集合,和一般数据集不同的是,其实际数据分布存储于一批机器中(内存或磁盘中)。

Spark RDD转换和操作示例

窄依赖:

        表现为一个父RDD的分区对应于一个子RDD的分区或者多个父RDD的分区对应于一个子RDD的分区。

宽依赖:

        表现为存在一个父RDD的一个分区对应一个子RDD的多个分区。

Scala

一.介绍

        ScalaSpark编程常用的语言之一。

Scala与java的关系

        

        所以使用scala时必须在java的前提上 

Scala是一门以Java虚拟机 (JVM)为运行环境并将面向对象和函数式编程的最佳特性结合在一起的静态类型编程语言(静态语言需要提前编译的如: Java、C、C++等,动态语言如:JS)。

1)Scala是一门多范式的编程语言,Scala支持面向对象和函数式编程。 (多范式,就是多种编程方法的意思。有面向过程、面向对象、泛型、函数式四种程序设计方法。)

2)Scala源代码 (.scala) 会被编译成Java字节码 (.class),然后运行于JVM之上,并可以调用现有的Java类库,实现两种语言的无缝对接。

3)Scala单作为一门语言来看,非常的简洁高效

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值