浅谈Apache Spark的6个发光点

Spark是一个基于内存计算的开源集群计算系统,目的是更快速的进行数据分析。Spark由加州伯克利大学AMP实验室Matei为主的小团队使用Scala开发开发,其核心部分的代码只有63个Scala文件,非常轻量级。 Spark 提供了与 Hadoop 相似的开源集群计算环境,但基于内存和迭代优化的设计,Spark 在某些工作负载表现更优秀。

在2014上半年,Spark开源生态系统得到了大幅增长,已成为大数据领域最活跃的开源项目之一,当下已活跃在Hortonworks、IBM、 Cloudera、MapR和Pivotal等众多知名大数据公司。那么Spark究竟以什么吸引了如此多的关注,这里我们看向Dzone上的6个总结。

以下为译文

1. 轻量级快速处理。着眼大数据处理,速度往往被置于第一位,我们经常寻找能尽快处理我们数据的工具。Spark允许Hadoop集群中的应用程序在内存中以100倍的速度运行,即使在磁盘上运行也能快10倍。Spark通过减少磁盘IO来达到性能提升,它们将中间处理数据全部放到了内存中。

Spark使用了RDD(Resilient Distributed Dataset)的理念,这允许它可以透明的内存中存储数据,只在需要时才持久化到磁盘。这种做法大大的减少了数据处理过程中磁盘的读写,大幅度的降低了所需时间。

2. 易于使用,Spark支持多语言。Spark允许Java、Scala及Python,这允许开发者在自己熟悉的语言环境下进行工作。它自带了80多个高等级操作符,允许在shell中进行交互式查询。

3. 支持复杂查询。在简单的“map”及“reduce”操作之外,Spark还支持SQL查询、流式查询及复杂查询,比如开箱即用的机器学习机图算法。同时,用户可以在同一个工作流中无缝的搭配这些能力。

4. 实时的流处理。对比MapReduce只能处理离线数据,Spark支持实时的流计算。Spark依赖 Spark Streaming对数据进行实时的处理,当然在YARN之后Hadoop也可以借助其他的工具进行流式计算。对于 Spark Streaming,Cloudera的评价是:

简单:轻量级且
具备功能强大的API,Sparks Streaming允许你快速开发流应用程序。容错:不像其他的流解决方案,比如Storm,无需额外的代码和配置,Spark Streaming就可以做
大量的恢复和交付工作。集成:为流处理和批处理重用了同样的代码,甚至可以将流数据保存到历史数据中。

5. 可以与Hadoop和已存Hadoop数据整合。Spark可以独立的运行,除了可以运行在当下的YARN集群管理之外,它还可以读取已有的任何Hadoop数据。这是个非常大的优势,它可以运行在任何Hadoop数据源上,比如HBase、HDFS等。这个特性让用户可以轻易迁移已有Hadoop应用,如果合适的话。

6. 活跃和无限壮大的社区。Spark起源于2009年,当下已有超过50个机构250个工程师贡献过代码,和去年六月相比,代码行数几乎扩大三倍,这是个令人艳羡的增长。

原文链接:http://www.csdn.net/article/2014-08-07/2821098-6-sparkling-features-of-apache-spark

时间: 2024-09-20 00:03:44

浅谈Apache Spark的6个发光点的相关文章

浅谈apache和nginx的rewrite的区别_php技巧

1. Nginx Rewrite规则相关指令 Nginx Rewrite规则相关指令有if.rewrite.set.return.break等,其中rewrite是最关键的指令.一个简单的Nginx Rewrite规则语法如下: rewrite ^/b/(.*)\.html /play.php?video=$1 break; 如果加上if语句,示例如下: if (!-f $request_filename) { rewrite ^/img/(.*)$ /site/$host/images/$1

Apache Spark源码走读(十一)浅谈mllib中线性回归的算法实现&Spark MLLib中拟牛顿法L-BFGS的源码实现

<一>浅谈mllib中线性回归的算法实现 概要 本文简要描述线性回归算法在Spark MLLib中的具体实现,涉及线性回归算法本身及线性回归并行处理的理论基础,然后对代码实现部分进行走读. 线性回归模型 机器学习算法是的主要目的是找到最能够对数据做出合理解释的模型,这个模型是假设函数,一步步的推导基本遵循这样的思路 假设函数 为了找到最好的假设函数,需要找到合理的评估标准,一般来说使用损失函数来做为评估标准 根据损失函数推出目标函数 现在问题转换成为如何找到目标函数的最优解,也就是目标函数的最

浅谈Spark几种不同的任务提交相关脚本(以Spark 1.5.0为例)

本节主要内容 spark-shell spark-submit spark-sql spark-class 总结 1. spark-shell spark-shell脚本文件内容如下: #!/usr/bin/env bash # # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed

图标字体化浅谈[转]

在做手机端Web App项目中,经常会遇到小图标在手机上显示比较模糊的问题,经过实践发现了一种比较好的解决方案,图标字体化.在微社区项目中,有很多小的Icon(图 标),如分享.回复.赞.返回.话题.访问.箭头等,这些Icon(图标)一般都是纯色的.开始制作时考虑用双倍大小的Sprite图,通过CSS样式设 置只显示二分之一尺寸,这样在Retina屏上显示的大小是正常的,一旦放大屏幕后图标又变得模糊不清,测试的效果不是很理想,后来又考虑多套图标适配方 案.SVG矢量图等,都因为种种原因放弃掉了(

浅谈php用户身份认证(一)

                 浅谈php用户身份认证(一)                             爆米花2001年9月25日 www.westxj.net    大家在浏览网站的时候,常常会遇到某些网页会需要用户和密码的验证,这就需要我们编写相应的身份验证程序来实现此功能.以下是我的一些学习过程和体会,希望对大家有所帮助.(一).基于HTTP验证的单用户身份验证:    我们利用函数header()发送HTTP标头强制进行验证,客户端浏览器则弹出要输入用户名和密码的对话框,

浅谈PHP开发团队的管理之道

说明:本文节选自<浅谈PHP开发团队管理及程序员做人问题>.全文请点击这里访问. 看了标题,也许很多程序员会反感的说:"程序员的做人问题先不用谈,你想出来这个标题,那你做人是不是有问题吧!" 笔者本人并不反驳这样的说法,每个人都有自己的做人原则.法国人的那句俗话说的好:"我不苟同你的思想,但是我绝对捍卫你思想的自由". 是,这是站在个人的立场上可以那么说.但是如果站在一个团队的立场上呢?一切不尽然了! 无论马拉车的原理也好,还是木桶原理也好,西方人整出来

图标字体化浅谈

           在做手机端Web App项目中,经常会遇到小图标在手机上显示比较模糊的问题,经过实践发现了一种比较好的解决方案,图标字体化.            在微社区项目中,有很多小的Icon(图标),如分享.回复.赞.返回.话题.访问.箭头等,这些Icon(图标)一般都是纯色的.开始制作时考虑用双倍大小的Sprite图,通过CSS样式设置只显示二分之一尺寸,这样在Retina屏上显示的大小是正常的,一旦放大屏幕后图标又变得模糊不清,测试的效果不是很理想,后来又考虑多套图标适配方案.

浅谈计算机字体

字体虽小,但却无处不在.每天我们打开电脑,掏出手机,我们都能看到形态各异的字体.而电脑及手机等设备的屏幕质材不一,要如何让字体在各种屏幕上清晰美观地显示,却又是一门不可小觑的大学问. 我们知道,显示器拥有很多的发光点(起码看上去是发光点),一个个明暗.色彩不同的发光点组成了能显示各种内容的屏幕.既然屏幕上的点可以组成各种图案,那么当然也可以用这些点来排列出文字,显示各种字体.这听上去好像很简单的样子,最初人们也是这样子认为的,于是就简单地使用点阵来显示电脑字体. 计算机字体-浅谈人工智能与计算机

Apache Spark源码走读(五)部署模式下的容错性分析 &amp;standalone cluster模式下资源的申请与释放

<一>部署模式下的容错性分析 概要 本文就standalone部署方式下的容错性问题做比较细致的分析,主要回答standalone部署方式下的包含哪些主要节点,当某一类节点出现问题时,系统是如何处理的. Standalone部署的节点组成 介绍Spark的资料中对于RDD这个概念涉及的比较多,但对于RDD如何运行起来,如何对应到进程和线程的,着墨的不是很多. 在实际的生产环境中,Spark总是会以集群的方式进行运行的,其中standalone的部署方式是所有集群方式中最为精简的一种,另外是Me