zoukankan      html  css  js  c++  java
  • Spark工作原理及RDD

    1.基于内存
    2.迭代式计算
    3.分布式
    基本工作原理:
    将spark的程序提交到spark集群上,在Hadoop的HDFS或者Hive上读取数据,读取的数据存放在各个spark的节点上,分布式的存放在多个节点上,主要在每个节点的内存上,这样可以加快速度。
    对节点的数据进行处理,处理后的数据存放在其他的节点的内存上。对数据的 计算操作针对多个节点上的数据进行并行操作。处理之后的数据可以到hadoop或者mysql或hbase中,或者结果直接返回客户端。
    每一批处理的数据就是一个RDD
    spark开发:离线批处理,延迟性的交互式数据处理;SQL查询;实时查询。底层都是RDD和计算操作。
    1.创建RDD
    2.定义对RDD的计算操作
    3.循环往复的过程,第一次计算之后,数据到了新的一批节点上,变成新的RDD,在进行计算操作。
    4.获得最终的数据,将数据存储火哦返回给客户端。
    spark与mapreduce的不同在于分布式处理,mapreduce里只有map和reduce两个
    过程,spark在处理一个阶段之后可以继续处理很多个阶段,不止两个阶段,spark可以处理更多的数据

    RDD(弹性分布式数据集)是spark提供的核心抽象
    RDD在抽象上是一种元素集合,包含了数据,他是被分区的,分为多个分区,每个分区分布在集群中的不同节点上,从而让RDD中的数据
    可以被并行操作。(分布式)
    RDD数据默认情况下是放在内存中的,如果内存放不下的时候,就会将部分数据存放在磁盘上进行保存,对于用户来说都是透明的,不用管数据存放在哪里,只要进行数据的计算和操作即可。(弹性)
    RDD具有容错性,当节点出现故障,数据会出现丢失,会自动进行计算,重新获取数据。
  • 相关阅读:
    宋宝华:slab在内核内存管理和用户态Memcached的双重存在
    能感知功耗的Linux调度器(EAS)
    内存检测王者之剑—valgrind
    随心所动,厂商的CPU核管理策略介绍
    一文读懂 进程怎么绑定 CPU
    Fastbootd实现原理分析
    cachestat、cachetop、pcstat-linux系统缓存命中率分析工具
    WIFI的WPS和pin码(测试失败)
    视频下载(钉钉、B站等) 解决方案
    DevExpress 报表设计文件(.vsrepx)不显示或显示空白
  • 原文地址:https://www.cnblogs.com/zhang12345/p/12245210.html
Copyright © 2011-2022 走看看