1.总结部分


什么是Spark?

Spark是个通用的集群计算框架

Spark用来做什么?

分发数据,分发计算

Spark的主要应用领域?

机器学习,最优化算法

为什么选择Spark?

  1. Spark对迭代应用的计算特别有效
  2. 可以类似Python REPL的命令行提示符交互式访问

Spark提供何种API?

Scala、Java和Python

Spark性能如何?

Hadoop,Spark速度对比

从表格中可以看出排序100TB的数据(1万亿条数据),Spark只用了Hadoop所用1/10的计算资源,耗时只有Hadoop的1/3

Hadoop,Spark回归算法速度对比

在Hadoop的世界里,做迭代计算是非常耗资源,它每次的IO序列代价很大,所以每次迭代需要差不多的等待。而Spark第一次启动需要载入到内存,之后迭代直接在内存利用中间结果做不落地的运算,所以后期的迭代速度快到可以忽略不计。

Spark的缺点?

  • 由于代码质量问题,Spark长时间运行会经常出错,在架构方面,由于大量数据被缓存在RAM中,Java回收垃圾缓慢的情况严重,导致Spark性能不稳定,在复杂场景中SQL的性能甚至不如现有的Map/Reduce。

  • 不能处理大数据,单独机器处理数据过大,或者由于数据出现问题导致中间结果超过RAM的大小时,常常出现RAM空间不足或无法得出结果。然而,Map/Reduce运算框架可以处理大数据,在这方面,Spark不如Map/Reduce运算框架有效。

  • 内存断电后会丢失数据,Spark不能用于处理需要长期保存的数据。

  • 不能支持复杂的SQL统计;目前Spark支持的SQL语法完整程度还不能应用在复杂数据分析中。在可管理性方面,SparkYARN的结合不完善,这就为使用过程中埋下隐忧,容易出现各种难题。

Spark的学习成本?

  • 官方目前侧重Scala要优于Java与Python,所以建议学习Scala

学习spark, 推荐用scala. 首先了解rdd和dsstream, 用mllib从头到尾实现一下官网的决策树, 逻辑斯蒂回归, 线性回归, 找到成就感, 在这个过程中你也许会踩到不少坑, 也会学习到一些基础的也是核心的概念, 比如何时需要persist, 何时需要cache, 何时需要广播变量, 全局accumulator, rdd stage划分, 为什么需要避免在class内的函数的rdd里引用外部变量, driver和executor区别。

Spark的官方建议的部署要求(维护成本)

通常,在内存容量为8GB到数百GB的主机上,Spark都能很好地运行。在任何情况下,我们都推荐最多只把物理主机上75%的内存分配给Spark;剩下的留给操作系统和缓存。

你需要多少内存取决于你的应用程序。要确定你的应用程序在某个数据集上执行时需要多少内存,可以在Spark
RDD中加载一部分数据集,并借用Spark 监控UI(http://:4040)上的存储表格(Storage
tab)来查看其内存用量。要注意的是内存用量受存储级别和序列化格式的影响极大——解决方法详见Spark调优一文。

请注意,配置了200GB以上内存的Java虚拟机并不能总是正常工作。如果你购买的主机配备的内存超过了这个数值,那么可以在每个主机上启动多个worker JVM来解决这个问题。在Spark Standalone集群上,你可以使用配置文件conf/spark-env.sh中的变量SPARK_WORKER_INSTANCES来设置每个节点上的worker数量,用变量SPARK_WORKER_CORES来设置每个worker上分配的CPU核数。

我们的经验表明,当数据加载到内存时,大多数Spark应用程序都将受制于网络。最好的办法就是使用10Gbps或更高带宽的网络来加快应用的执行速度。这个办法对于那些分布式reduce应用程序(如group-bys,reduce-bys,及SQL joins)特别有用。在任何一个应用程序中,你都可以从其监控UI(http://:4040)上看到Spark通过网络传输了多少数据量。

综上所述:相比Hadoop,Spark所需的硬件成本更高(内存比硬盘贵)

2.实践部分

在Python中应用Spark

环境:

  • JAVA 6+
  • Python 2.6+

1.配置环境变量

SPARK_HOME=/srv/spark
PATH=%SPARK_HOME%/bin

2.建立一个Spark模板

from pyspark import SparkConf, SparkContext## Module Constants
APP_NAME = "My Spark Application"## Closure Functions## Main functionalitydef main(sc):passif __name__ == "__main__":# Configure Sparkconf = SparkConf().setAppName(APP_NAME)conf = conf.setMaster("local[*]")sc   = SparkContext(conf=conf)# Execute Main functionalitymain(sc)

Spark 调研报告相关推荐

  1. Spark streaming动态调整资源-调研报告

    Spark streaming动态调整资源调研报告 一.需求背景: 我们希望spark streaming根据不同时间段的数据量不同(例如高峰期和低谷期),自动调整spark的计算资源(包含CPU和m ...

  2. 关于学术文献推荐系统的调研报告

    关于学术文献推荐系统的调研报告 1 引言 1.1 研究背景 随着大数据时代的到来,互联网在给人们的生活带来丰富多彩的同时,海量信息也导致了"信息过载"问题.对于信息使用者来说,如何 ...

  3. iceberg的调研报告

    iceberg的调研报告 本文中2021年3月创作.我2022年1月份查看官网已经更新了很多新特性(对Spark的支持和Flink的支持).所以本篇文章参考即可.不能成为最终认定. 参考:官网,数据湖 ...

  4. 太阳能路灯行业调研报告 - 市场现状分析与发展前景预测

    [出版商]贝哲斯咨询 [免费目录下载]太阳能路灯是由通常安装在照明结构上或集成在灯杆上的光伏板供电的凸起光源.光伏电池板为可充电电池充电,在夜间为荧光灯或LED灯供电. 太阳能路灯市场的企业竞争态势 ...

  5. 智源发布人脸识别与公共卫生调研报告

    为了促进人工智能成为推动"健康社会"形成的使能技术之一,推动人工智能应用于全球可持续发展,北京智源人工智能研究院人工智能伦理与安全研究中心联合中国科学院自动化研究所中英人工智能伦理 ...

  6. 2016年金融全行业网络安全状况调研报告

    本报告由谷安天下和乌云联合发布,并感谢网贷之家.支付圈.安全值.安全牛等媒体和机构提供数据来源. 金融行业网络安全调研概述 报告背景 近两年来互联网金融飞速发展,不同于传统金融,依托于互联网的新的金融 ...

  7. SANS:2014年安全分析与安全智能调研报告

    2014年10月份,紧接着2014年度日志管理调研报告(Log management survey),SANS又发布了2014年度的安全分析与智能调研报告(Analytics and Intellig ...

  8. 6万广州人坐过无人出租车,过半月薪一万以上 | 中国首份Robotaxi乘客调研报告...

    李娅宁 发自 副驾寺  智能车参考 报道 | 公众号 AI4Auto 原来广州人民才是真名媛.真凡尔赛. 上下班车接车送,过半数的人月收入万元以上,78%以上都是本科以上学历-- 而且这个车,还不是人 ...

  9. 全球及中国血液透析行业发展规模与前景动态调研报告2022版

    全球及中国血液透析行业发展规模与前景动态调研报告2022版 -------------------------------------  <出版单位>:鸿晟信合研究院[专员客服对接] &l ...

最新文章

  1. Python教学课程分享10-异常处理结构
  2. word表格自动编号
  3. 头条一面:Spring IOC容器中只存放单例Bean吗?
  4. 037_JDK的Iterator接口
  5. 怎么样设置关闭网页再次登录网页是正常登录状态_学籍系统出现“该账号已登录,不能重复登录”怎么办?...
  6. php图片上传报502,PHPStrom上传文件报502错误原因,_PHP教程
  7. python中match方法返回字符串的长度_Python re模块与正则表达式详解
  8. 设置公共请求参数_封装一个useFetch实现页面销毁取消请求
  9. java 内存数据库 sql_ssm+redis +Maven用于内存数据库 (No Sql)入门demo
  10. 计算机学院优秀主讲教师评选细则,关于转发《华南师范大学第二届“我最喜爱的导师”评选活动实施细则》的通知...
  11. .Net Compact Framework 高级篇(2)-- 扩展SOAP应用
  12. 10月1日 记录下os.path.dirname(__file__)使用
  13. ubuntu下virtualbox安装windows7
  14. pg数据库游标的使用
  15. 差速移动机器人轨迹跟踪控制方法及实现-NJUST
  16. 前期总结+开学展望(WYL)
  17. 输入年月日实现计算这是一年的第几天
  18. 面试题01.05.一次编辑
  19. 回忆旧时读叶芝的WHEN YOU ARE OLD
  20. Imagination出席AIIA交流活动 PowerVR NNA IP入选首批《AI芯片技术选型目录》

热门文章

  1. 移动九联unt402H-免拆机-卡刷-刷机固件及教程
  2. was服务器配置文件路径,websphere(was)配置文件
  3. 互动河马按钮(interactive hippo button)
  4. c语言编取消猎豹信息程培训,信息学奥林匹克竞赛C++教程(一)_编程基础
  5. javaMail多个收件人分号隔开的适配
  6. 【鼎阳硬件智库原创 | DDR】高速数字总线时序分析及计算方法
  7. 18.4.1 考试解题报告 P71
  8. CAD制图问题,向程序发送命令时出现错误
  9. python网络爬虫与信息提取_北京理工大学_Python网络爬虫与信息提取(一)
  10. 望闻问切——中医四法助力维修线路板新手入门