zoukankan      html  css  js  c++  java
  • spark

    1.spark 开源的分布式cluster(集群)运算框架

    2.spark相对于Hadoop的优势

    • 数据处理逻辑的代码非常简短
    • 提供很多转换和动作,而hadoop只提供Map和Reduce,表达力欠缺
    • 一个job可以包含多个转换操作,在调度时可以生成多个stage,多个map操作的RDD分区不变,可以放在同一个task中进行,而hadoop一个job只有map和reduce,复杂计算需要大量job完成
    • 逻辑更清晰,可以提供处理逻辑整体视图,而hadoop没有整体逻辑
    • spark运算中间结果放在内存中,内存放不下会写入本地磁盘,hadoop中间结果放在hdfs中
    • 可以处理流数据和交互式数据,Hadoop时延高,只适用批处理
    • 通过内存中缓存数据,迭代式计算能力强

    3.spark生态

    •   spark core API:支持python,java,scala,sql等语言,批处理计算
    •   spark SQL: 支持用sql查询,交互式计算
    •   streaming: 数据流式处理,相对批量处理速度更快
    •   MLlib(machine learning): 较少量数据反复迭代运算,机器学习
    •   graphx: 基于图运算引擎,适用于图运算

     4.spark核心组成部分

    •  driver: 写的程序本身
    •  cluster manager: 分配调度任务
    •  worker node: 执行计算任务
    •  executor: worker node中执行任务的角色, 相当与进程, 一个worker node 中可以有多个executor

    5.job

     一个application由多个job组成,与hadoop不同每个action都会产生一个job

    6.stage

    一个job分为多个stage,stage是按照数据计算的边界划分

     7.task

    一个stage可以有多个task,一个task是一个真正的计算任务,是计算任务的最小单位

    8.spark数据来源

    • 本地文件csv,json,txt
    • hdfs
    • hbase
    • MongoDB
    • 传统数据库等
    •  云端数据S3

    9.RDD-spark核心数据结构

    RDD横跨整个集群,系统自动分隔,partition可以并行计算

    RDD是只读的且不可改变

    RDD只能从数据源读进来或者从其他RDD转换过来

    RDD action计算方法: collect,count,countByValue,reduce,top

    重要的RDD可以存档,可以配置保存的位置

    10.大数据最耗时其实是IO操作,spark数据本地化,尽量减少数据移动,提高了处理速度,

     所有开发时尽量考虑数据的位置,尽量减少数据的移动

    11.Lambda架构

    既有批处理又有流式处理

    12.apark stream---mini batch

    比流式处理容易迁移,提供秒级实时计算,对延时要求高的(毫秒级)计算不太适合

  • 相关阅读:
    工作了四五年,感觉技术上依旧长进不大
    Web 性能优化:Preload与Prefetch的使用及在 Chrome 中的优先级
    Fundebug支持浏览器报警
    JavaScript是如何工作的:引擎,运行时和调用堆栈的概述!
    Vue UI:Vue开发者必不可少的工具
    阿里巴巴TXD前端小报
    深入了解浏览器存储:对比Cookie、LocalStorage、sessionStorage与IndexedDB
    JavaScript字符串转数字的5种方法及其陷阱
    灵活使用 console 让 js 调试更简单
    JavaScript大师必须掌握的12个知识点
  • 原文地址:https://www.cnblogs.com/fanshudada/p/10958714.html
Copyright © 2011-2022 走看看