最近,许多大数据的讨论都使用了新名称。 有人将流行的新来者Apache Spark ™视为Hadoop的更易用,功能更强大的替代品, Hadoop是大数据的首选原始技术。 其他人认为Spark是Hadoop和其他技术的有力补充,它具有自己的优点,怪癖和局限性。

与其他大数据工具一样,Spark功能强大,功能强大且设备齐全,可应对各种数据挑战。 对于每个数据处理任务,它也不一定是最佳选择。 您可以在电子书“ Spark入门:从开始到生产”中了解有关Spark的更多信息 在此博客文章中,我将详细介绍Spark是什么,谁使用Spark以及它与其他数据处理引擎的区别。

什么是星火?

Spark是通用数据处理引擎,适用于多种情况。 应用程序开发人员和数据科学家将Spark集成到他们的应用程序中,以快速地大规模查询,分析和转换数据。 与Spark最频繁相关的任务包括跨大型数据集的交互式查询,来自传感器或金融系统的流数据处理以及机器学习任务。

Spark于2009年开始运作,最初是加州大学伯克利分校AMPLab内部的一个项目。 更具体地说,它是出于证明Mesos概念的需要而诞生的,Mesos概念也是在AMPLab中创建的。 在Mesos白皮书《 Mesos:数据中心中细粒度资源共享的平台》中首次讨论了Spark,其中最著名的作者是Benjamin Hindman和Matei Zaharia。

Spark在2013年成为Apache Software Foundation的孵化项目,并在2014年初被提升为Foundation的顶级项目之一。 Spark是基金会管理的最活跃的项目之一,围绕该项目成长的社区包括多产的个人贡献者和资金雄厚的企业支持者,例如Databricks,IBM和中国的华为。

从一开始,Spark就被优化为在内存中运行。 它比Hadoop的MapReduce等替代方法更快地处理数据,后者倾向于在处理的每个阶段之间向计算机硬盘写入数据或从计算机硬盘写入数据。 Spark的支持者声称,Spark在内存中的运行速度可以比Hadoop MapReduce快100倍,并且在以类似于Hadoop MapReduce本身的方式处理基于磁盘的数据时也可以快10倍。 这种比较并不完全公平,这不仅是因为原始速度对于Spark的典型用例而言比对批处理更为重要,在这种情况下,类似于MapReduce的解决方案仍然很出色。

Spark会做什么?

Spark能够一次处理数PB的数据,分布在成千上万个协作的物理或虚拟服务器的群集中。 它具有广泛的开发人员库和API,并支持Java,Python,R和Scala等语言。 它的灵活性使其非常适合各种用例 。 Spark通常与Hadoop的数据存储模块HDFS一起使用,但它可以与HBase ,Cassandra, MapR-DB ,MongoDB和Amazon的S3等其他流行的数据存储子系统很好地集成。

典型的用例包括:

  • 流处理 :从日志文件到传感器数据,应用程序开发人员越来越需要处理数据的“流”。 此数据经常从多个源同时稳定地到达。 尽管将这些数据流存储在磁盘上并进行回顾性分析当然是可行的,但有时在数据到达时对其进行处理并采取行动是明智或重要的。 例如,可以实时处理与金融交易有关的数据流,以识别并拒绝潜在的欺诈性交易。
  • 机器学习 :随着数据量的增长,机器学习方法变得越来越可行并且越来越准确。 在对新的和未知的数据应用相同的解决方案之前,可以对软件进行培训,以识别出易于理解的数据集中的触发器并对其采取行动。 Spark能够将数据存储在内存中并能够快速运行重复查询,这使其成为训练机器学习算法的理想选择。 一次又一次地大规模运行广泛相似的查询,可显着减少通过一组可能的解决方案以找到最有效的算法所需的时间。
  • 交互式分析 :业务分析师和数据科学家不是通过运行预定义的查询来创建销售,生产线生产率或股票价格的静态仪表板,而是希望通过提出问题,查看结果然后更改结果来探索其数据。初步提出问题或深入研究结果。 这种交互式查询过程要求诸如Spark之类的系统能够快速响应和适应。
  • 数据集成 :整个企业中不同系统生成的数据很少是干净的或一致的,以至于不能简单,轻松地组合起来进行报告或分析。 提取,转换和加载(ETL)流程通常用于从不同系统中提取数据,对其进行清理和标准化,然后将其加载到单独的系统中进行分析。 越来越多地使用Spark(和Hadoop)来减少此ETL流程所需的成本和时间。

谁使用Spark?

许多技术供应商已Swift支持Spark,并意识到有机会将现有的大数据产品扩展到Spark提供真正价值的领域,例如交互式查询和机器学习。 IBM和华为等知名公司已经在这项技术上投入了大量资金,并且越来越多的初创公司正在建立完全或部分依赖Spark的业务。 例如,在2013年,负责创建Spark的伯克利团队创建了Databricks,该公司提供了一个由Spark支持的托管端到端数据平台。 该公司资金雄厚,在2013年和2014年的两轮投资中获得了4,700万美元,Databricks的员工在改善和扩展Apache Spark项目的开源代码方面继续发挥着重要作用。

大型Hadoop供应商都已转移到支持Spark及其现有产品,并且每个供应商都在努力为其客户增加价值。 在其他地方,IBM,华为和其他公司都对Apache Spark进行了大量投资,将其集成到自己的产品中,并对Apache项目进行了改进和扩展。 中国搜索引擎百度,电子商务运营商阿里巴巴淘宝和社交网络公司等基于Web的公司都大规模运行基于Spark的业务,据报道,腾讯的8亿活跃用户每天生成700 TB以上的数据,以便在计算机上进行处理。超过8,000个计算节点的集群。

除了这些网络巨头之外, 诺华制药公司还依赖Spark来减少将模型数据交付研究人员的时间,同时确保遵守道德和合同保障。

什么使Spark脱颖而出?

选择Spark的原因很多,但三个是关键:

  • 简便 :可通过一组丰富的API访问Spark的功能,所有这些API都是专门为快速,轻松地与大规模数据进行交互而设计的。 这些API都有很好的文档记录和结构化,使数据科学家和应用程序开发人员可以直接将Spark快速投入工作。
  • 速度 :Spark专为提高速度而设计,可在内存和磁盘上运行。 使用Spark,来自Databricks的团队与来自加利福尼亚大学圣地亚哥分校的团队并列 2014年Daytona Gray Sort 100TB Benchmark挑战赛的第一名 。 挑战涉及处理静态数据集。 Databricks团队仅用23分钟即可处理存储在固态驱动器上的100 TB数据,而上一个获胜者则使用Hadoop和其他集群配置花费了72分钟。 当支持对存储在内存中的数据进行交互式查询时,Spark的性能甚至更好。 在这种情况下,有人声称Spark可以比Hadoop的MapReduce快100倍。
  • 支持 :Spark支持多种编程语言,包括Java,Python,R和Scala。 尽管通常与HDFS紧密相关,但Spark包括对与Hadoop生态系统及更多生态系统中许多领先存储解决方案的紧密集成的本机支持。 此外,Apache Spark社区庞大,活跃且国际化。 越来越多的商业提供商(包括Databricks,IBM和所有主要的Hadoop供应商)为基于Spark的解决方案提供全面的支持。

摘要

在此博客文章中,您了解了Spark,它的作用以及与其他数据处理引擎的不同之处。

如果您有关于Spark的其他问题,请在下面的评论部分中提问。

翻译自: https://www.javacodegeeks.com/2015/09/spark-101-what-is-it-what-it-does-and-why-it-matters.html

Spark 101:它是什么,它做什么以及为什么起作用相关推荐

  1. 101种在家就能做的网上生意

    转载自 [http://baike.baidu.com/link?url=67Ertf8LNQ3LlAPeXgsp7e4jZUDSafwET5i0O3DPrBr6im5KLpEwLXvFpUivy-J ...

  2. python对seo有什么用_pythonseo-python对于做SEO主要有什么作用

    很多朋友在网站seo优化的时候回遇到一些网站优化的疑问,其中就包括<pythonseo:python对于做SEO主要有什么作用>问题,那么下面搜遇网络小编来给您解答一下您现在困惑的问题. ...

  3. python对seo有什么用_python对于做SEO主要有什么作用-乐云SEO

    自己写爬虫做seo: python对于做SEO主要有什么作用-百度知道 展开全部 数据库级别了,python可以开发爬虫抓取想要的数据.给seo做内容还是不错的!... 其他答案:没什么作用,pyth ...

  4. spark有什么作用_Spark 101:它是什么,它做什么以及为什么起作用

    spark有什么作用 最近,许多大数据的讨论都使用了新名称. 有人认为流行的新手Apache Spark ™是Hadoop的更易访问,更强大的替代品, Hadoop是大数据的首选原始技术. 其他人则认 ...

  5. 如何在Java应用里集成Spark MLlib训练好的模型做预测

    前言 昨天媛媛说,你是不是很久没写博客了.我说上一篇1.26号,昨天3.26号,刚好两个月,心中也略微有些愧疚.今天正好有个好朋友问,怎么在Java应用里集成Spark MLlib训练好的模型.在St ...

  6. python能做什么效果_python对于做SEO主要有什么作用?

    一直没完整的解释这个问题,这边详细说下吧.准确说不是Python对SEO有什么作用,而是会一门程序语言对SEO有什么用.Python仅是诸多程序语言中,个人评估下来最为推荐的一种,但用其它程序语言一般 ...

  7. 什么是职业测评?做职业测评有什么作用?

    职业测评 是指通过科学的测试和评估方式,对个人的职业能力.职业兴趣.职业价值观等进行评估,以帮助个人了解自己的职业特质,从而更好地选择和发展自己的职业生涯. 职业测评可以帮助人们更好地了解自己的职业需 ...

  8. 我的世界做服务器的指令什么作用,我的世界:这个指令能做什么,不论是建造房屋,还是服务器都有用...

    <我的世界>国服新版本蜜蜂已经上线了,现在是不是又开了很多个新地图,或者是在新模式<天启:无尽幻境>中奋斗呢?而我就开了几个新地图,实验了下新物品以及养了几只蜜蜂,同时练习了指 ...

  9. 我的世界做服务器的指令什么作用,我的世界服务器什么指令可以重启服务器 | 手游网游页游攻略大全...

    发布时间:2016-04-02 圈地和刷钱 op指令大全服务器圈地刷钱.我的世界OP指令玩家一定都很熟悉的吧,那么手机版的OP指令有哪些呢?一起来看看op指令大全吧,已经为大家分好了管理.服务.作弊这 ...

最新文章

  1. LaTex中的任意以及存在符号以及{}
  2. 独家 | 集成学习入门介绍
  3. DOS批处理高级教程精选(七)
  4. VM8不能安装64位操作系统原因解析
  5. 'module' object is not callable
  6. 匈牙利算法-指派问题、二分图问题等
  7. Method-Swizzling实战-实现iOS原生网络请求性能采集
  8. centos 删除crontab_Centos 7 安装crontab及cron常用命令
  9. Batch Normalization论文笔记
  10. mysql语句判断是否存在记录,没有则插入新纪录否则不执行
  11. FPGA经典设计:再读正点原子SDRAM控制器
  12. 全电发票的最新进展:有关咨询整理(上篇)
  13. 条件覆盖,路径覆盖,语句覆盖,分支覆盖
  14. manjaro 安装搜狗拼音输入法
  15. Tencent/tencent-ml-images Readme说明
  16. DialogFragment自动弹出软键盘,消失时关闭软键盘
  17. WiFi过敏?没准是心病
  18. 深入浅出JS—03 函数闭包和内存泄漏
  19. GMSK调制解调(二)
  20. 新品密集!2020中关村论坛技术交易大会-第二场新技术新产品首发活动圆满举行...

热门文章

  1. 【C单链表】链表与尾插法
  2. 【Python】Conda的安装
  3. C++描述 国王给骑士发放金币 ||
  4. ssh(Spring+Spring mvc+hibernate)——DeptDaoImpl.java
  5. 重写(override / overwrite)
  6. MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established
  7. redis集群依赖ruby
  8. import openfire4.0.2 source code in eclipse
  9. 阿帕奇跨域_阿帕奇齿轮泵
  10. apache.camel_在即将发布的Camel 2.21版本中改进了使用Apache Camel和ActiveMQ Artemis处理大型消息的功能...