Spark1.0.0 生态圈一览
通过Spark生态圈,AMPLab运用大数据、云计算、通信等各种资源,以及各种灵活的技术方案,对海量不透明的数据进行甄别并转化为实用的信息。以供人们更好的理解世界。Spark生态圈已经涉及到机器学习、数据挖掘、数据库、信息检索、自然语言处理和语音识别等多个领域。
Spark峰会信息http://spark-summit.org/。
- 更好的容错性和内存计算
- 快速,在内存中运算100倍速度于MapReduce
- 易用。同样的应用程序代码量要比MapReduce少2-5倍
- 提供了丰富的API
- 支持互动和迭代程序
- 提供了支持DAG图的分布式并行计算框架,降低多次计算之间中间结果IO开销
- 提供Cache机制来支持多次迭代计算或者数据共享,降低IO开销
- RDD之间维护了血统关系,一旦RDD fail掉了。能通过父RDD自己主动重建,保证了容错性
- 移动计算而非移动数据,RDD Partition能够就近读取分布式文件系统中的数据块到各个节点内存中进行计算
- 使用多线程池模型来降低task启动开稍
- shuffle过程中避免不必要的sort操作
- 採用容错的、高可伸缩性的akka作为通讯框架
- 。
。
。
- 将流式计算分解成一系列短小的批处理作业
- 将失败或者运行较慢的任务在其他节点上并行运行
- 较强的容错能力(基于RDD继承关系Lineage)
- 使用和RDD一样的语义
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYm9va19tbWlja3k=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
Spark SQL能够通过SQL表达式、HiveQL或者Scala DSL在Spark上运行查询。眼下Spark SQL还是一个alpha版本号。
- 引入了新的RDD类型SchemaRDD,能够象传统数据库定义表一样来定义SchemaRDD。SchemaRDD由定义了列数据类型的行对象构成。
- SchemaRDD能够从RDD转换过来,也能够从Parquet文件读入。也能够使用HiveQL从Hive中获取。
- 在应用程序中能够混合使用不同来源的数据,如能够将来自HiveQL的数据和来自SQL的数据进行join操作。
- 内嵌catalyst优化器对用户查询语句进行自己主动优化
- 通过採样。建立并维护一组多维度样本
- 查询进来时。选择合适的样本来执行查询
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYm9va19tbWlja3k=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
- ML Optimizer 优化器会选择最适合的、已经实现好了的机器学习算法和相关參数
- MLI 是一个进行特征抽取和高级ML编程抽象的算法实现的API或平台
- MLlib 基于Spark的底层分布式机器学习库,能够不断的扩充算法
- MLRuntime 基于Spark计算框架,将Spark的分布式计算应用到机器学习领域。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYm9va19tbWlja3k=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
- 提供了Spark中弹性分布式数据集(RDD)的API。用户能够在集群上通过R shell交互性的执行Spark job。
- 支持序化闭包功能,能够将用户定义函数中所引用到的变量自己主动序化发送到集群中其它的机器上。
- SparkR还能够非常easy地调用R开发包。仅仅须要在集群上执行操作前用includePackage读取R开发包就能够了,当然集群上要安装R开发包。
以下是几个典型的样例:
Spark1.0.0 生态圈一览的更多相关文章
- (转)park1.0.0生态圈一览
转自博客:http://www.tuicool.com/articles/FVBJBjN Spark1.0.0生态圈一览 Spark生态圈,也就是BDAS(伯克利数据分析栈),是伯克利APMLab实验 ...
- Spark1.0.0 学习路径
2014-05-30 Spark1.0.0 Relaease 经过11次RC后最终公布.尽管还有不少bug,还是非常令人振奋. 作为一个骨灰级的老IT,经过非常成一段时间的消沉,再次被点燃 ...
- Spark1.0.0 学习路线指导
转自:http://www.aboutyun.com/thread-8421-1-1.html 问题导读1.什么是spark?2.spark编程模型是什么?3.spark运维需要具有什么知识?4.sp ...
- 基于Spark1.3.0的Spark sql三个核心部分
基于Spark1.3.0的Spark sql三个核心部分: 1.可以架子啊各种结构化数据源(JSON,Hive,and Parquet) 2.可以让你通过SQL,saprk内部程序或者外部攻击,通过标 ...
- Spark-1.0.0 standalone分布式安装教程
Spark目前支持多种分布式部署方式:一.Standalone Deploy Mode:二Amazon EC2.:三.Apache Mesos:四.Hadoop YARN.第一种方式是单独部署,不需要 ...
- spark1.2.0版本SparkSQL使用parquet类型注意事项
在Spark1.2.0版本中是用parquet存储类型时注意事项: sql语句: select * from order_created_dynamic_partition_parquet; 在spa ...
- Spark1.0.0 开发环境高速搭建
在本系列博客中.为了解析一些概念.解析一些架构.代码測试.搭建了一个实验平台.例如以下图所看到的: 本实验平台是在一台物理机上搭建的.物理机的配置是16G内存,4核8线程CPU ...
- spark1.2.0安装
standalone 安装SCALA 下载.解压.加入环境变量 安装spark1.2.0 下载.解压.加入环境变量 tar zxvf spark--bin-.tgz export SPARK_HOME ...
- Spark1.0.0新特性
Spark1.0.0 release于2014-05-30日正式公布,标志Spark正式进入1.X的时代.Spark1.0.0带来了各种新的特性,并提供了更好的API支持:Spark1 ...
随机推荐
- private、protected、public
private protected public 本类内 Y Y Y 子类内 N Y Y 外部 N N N <?php class MyClass{ public $public = 'Pu ...
- C++中使用REST操作
REST现在是非常流行的一种接口了,但对于C++这种古董语言来说,用起来并不很方便.无论是json操作还是http交互,用起来都比较麻烦. 如果你需要在c++中使用rest操作时,不妨试一下微软的cp ...
- fragment和fragmentactivity解析
一.为什么要使用Fragment 1.当我们须要动态的多界面切换的时候,就须要将UI元素和Activity融合成一个模块.在2.3中我们一般通过各种Activity中进行跳转来实现多界面的跳转和单个 ...
- jQuery判断复选框是否被选中的3种方式
页面部分: <input type="checkbox" id="cbx" /><label for="cbx"& ...
- android中PopupMenu的使用
PopupMenu可以非常方便的在指定view的下面显示一个弹出菜单,类似于actionbar溢出菜单的效果.它的菜单选项可以来自于menu资源,因此非常方便.下面是在网上找的一个PopupMenu的 ...
- Cocos2dx 小技巧(十四)ScrollView实现缩放效果
这阶段心绪比較乱,所以这篇开头就不扯淡了.(谁说大姨夫来了我跟谁急!~~)说到大姨夫我突然想到英雄联盟有个美女讲解叫伊芙蕾亚,她的堂弟ID居然叫:姨夫累呀,好笑吧(呵呵,有点冷~~额,我都说不扯淡了) ...
- 角点检测:Harris角点及Shi-Tomasi角点检测
角点 特征检测与匹配是Computer Vision 应用总重要的一部分,这需要寻找图像之间的特征建立对应关系.点,也就是图像中的特殊位置,是很常用的一类特征,点的局部特征也可以叫做“关键特征点”(k ...
- Spring 远程服务
稍微看了一下Spring的远程服务章节,讲到了RMI,Hessian,Burlap,Http invoker以及JAX-WS 1.RMI 原理: 1)在Spring服务端使用RmiServiceExp ...
- 定义和使用EL函数
EL为表达式语言,在EL中,允许定义和使用函数.下面将介绍如何定义和使用EL的函数. 1. 定义和使用函数 函数的定义和使用分为以下3个步骤: (1)编写一个Java类,并在该类中编写公用的静态方法, ...
- chromium中的性能优化工具syzyProf
函数性能分析工具SyzyProf 我先开始介绍SyzyProf.这个工具可以捕获每个线程调用每个函数执行的时间,然后把结果生成一个KCacheGrind能够识别的数据格式文件,然后通过KCacheGr ...