Spark&MapReduce的区别、多线程&多进程的区别

  • 1.spark与hadoop区别:
  • 2.Spark多线程运行, MR多进程运行
  • 3.MR存在的问题:
  • 4.线程和进程的区别:

1.spark与hadoop区别:

本质:主要看是否进行磁盘的转换
hadoop:因为需要partition所以需要进行磁盘的转换存储
spark:则不需要这个

2.Spark多线程运行, MR多进程运行

多线程:因此spark作业适合于低延迟类型的作业
多进程:方便控制资源,进程是一个独享的空间,但是启动比较费时间,因此不适合低延迟类型的作业,导致MR时效性差
Spark缺点:因为不利于大作业的稳定运行,所以spark的稳定性没有MR稳定,所以spark中有catch函数进行缓存到内存中

3.MR存在的问题:

表达能力有限:
写MR通过脚本将Map和reduce任务进行串联起来,如果项目很大或者涉及到到的逻辑很繁琐
前期进行画图或者文档,然后再进行开发
spark: 通过代码直接将我们的数据处理连接起来

4.线程和进程的区别:

(还需要在总结下)
1、线程是进程的子集,简单理解 教室(进程),桌椅(线程)
2、线程启动快于进程,线程能够快速切换
3、进程是资源分配的最小单位,线程是程序执行的最小单位(资源调度的最小单位)
4、进程有自己的独立地址空间,每启动一个进程,系统就会为它分配地址空间,建立数据表来维护代码段、堆栈段和数据段,这种操作非常昂贵。
而线程是共享进程中的数据的,使用相同的地址空间,因此CPU切换一个线程的花费远比进程要小很多,同时创建一个线程的开销也比进程要小很多。
5、线程之间的通信更方便,同一进程下的线程共享全局变量、静态变量等数据,而进程之间的通信需要以通信的方式(IPC)进行。不过如何处理好同步与互斥是编写多线程程序的难点。
6、但是多进程程序更健壮,多线程程序只要有一个线程死掉,整个进程也死掉了,而一个进程死掉并不会对另外一个进程造成影响,因为进程有自己独立的地址空间。

SparkMapReduce的区别、多线程多进程的区别相关推荐

  1. python 多进程_说说Python多线程与多进程的区别?

    公众号新增加了一个栏目,就是每天给大家解答一道Python常见的面试题,反正每天不贪多,一天一题,正好合适,只希望这个面试栏目,给那些正在准备面试的同学,提供一点点帮助! 小猿会从最基础的面试题开始, ...

  2. Python多进程(process)和多线程(thread)的区别

    目录 一.线程与进程 1.基本概念 2.区别 二.多进程与多线程 1.多进程 (1)Python的多进程编程与multiprocess模块 (2)利用multiprocess模块的Pool类创建多进程 ...

  3. 什么是进程,什么是线程,多线程与多进程的区别?

    什么是进程,什么是线程,以及什么实际场景使用他们? 进程(Process):是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础.简言之运行的程序就 ...

  4. left join 和join区别_sleep、yield、join方法简介与用法 sleep与wait区别 多线程中篇

    Object中的wait.notify.notifyAll,可以用于线程间的通信,核心原理为借助于监视器的入口集与等待集逻辑 通过这三个方法完成线程在指定锁(监视器)上的等待与唤醒,这三个方法是以锁( ...

  5. java 轻量级同步volatile关键字简介与可见性有序性与synchronized区别 多线程中篇(十二)...

    概念 JMM规范解决了线程安全的问题,主要三个方面:原子性.可见性.有序性,借助于synchronized关键字体现,可以有效地保障线程安全(前提是你正确运用) 之前说过,这三个特性并不一定需要全部同 ...

  6. Python多线程多进程、异步、异常处理等高级用法

    文章目录 前言 多线程多进程 多线程 多进程 协程 总结 异步 基本概念 异步编程 asyncio aiohttp 异常 常见异常 异常处理 自定义异常 lambda表达式 lambda表达式用法 高 ...

  7. Python 多线程 多进程 协程 yield

    python中多线程和多进程的最大区别是稳定性和效率问题 多进程互相之间不影响,一个崩溃了不影响其他进程,稳定性高 多线程因为都在同一进程里,一个线程崩溃了整个进程都完蛋 多进程对系统资源开销大,多线 ...

  8. HashMap底层实现原理/HashMap与HashTable区别/HashMap与HashSet区别(转)

    HashMap底层实现原理/HashMap与HashTable区别/HashMap与HashSet区别 文章来源:http://www.cnblogs.com/beatIteWeNerverGiveU ...

  9. 线程通信和进程通信区别(线程进程区别)

    前言: 腾讯笔试中多道选择题考到这个问题,这里总结一下.学习Java的童鞋可能对于线程的理解要比学php好很多.本文参考于线程通信与进程通信的区别 . 进程和线程的区别: 对于进程来说,子进程是父进程 ...

最新文章

  1. 高逼格UILabel的闪烁动画效果
  2. goland 关闭 自动移除未使用的包  自动添加需要的包
  3. 【福利】微信小程序130个精选Demo合集
  4. python3模拟登陆人人网(requests)
  5. Gradle构建工具的学习与使用
  6. c#通过app.manifest使程序 右键 以管理员身份运行
  7. hdu 4864 Task(贪婪啊)
  8. 一网打尽!每个程序猿都该了解的黑客技术大汇总
  9. mysql查看防火墙状态命令,centos 7中firewall防火墙的常用命令总结
  10. Ugly Numbers UVA - 136
  11. 晶体表面原子结构和一篇论文
  12. ECSHOP二次开发教程__连接
  13. linux解密shadow_Linux /etc/shadow(影子文件)内容解析(超详细)
  14. C语言的精华——指针 指针初识
  15. python和接码平台对接_GitHub - zhupite233/yima: 易码平台API的Python接口
  16. win10更新至1909版本后,Primo Ramdisk失效的解决方案
  17. 【飞控开发基础教程6】疯壳·开源编队无人机-SPI(六轴传感器数据获取)
  18. pgSQL查询语句ERROR: relation “XXX“ does not exist
  19. CSP202109-4 收集卡牌
  20. 关系型数据库和MySQL作业及答案

热门文章

  1. (一)linux下hadoop安装配置
  2. 车牌识别算法库EasyPR的编译实战
  3. SSL WSS HTTPS
  4. 智能手表也不安全?可能泄露用户密码
  5. 【李宏毅2020 ML/DL】P106 More about Life Long Learning
  6. 苏炫杰全国计算机等级考试,高二升高三的主题班会
  7. jq和thinkphp经常使用的几种ajax
  8. [IHS] No.2 程序员一生的读书计划
  9. 命令行怎么运行go程序_Go教程32: 编译打包运行程序
  10. 蓝牙天线的一点小资料