zoukankan      html  css  js  c++  java
  • Spark介绍

    通常当我们计算的数据超过了单机维度,比如我们的PC内存共8G,而需要计算的数据为100G,这时候我们通常选择大数据集群进行计算。

    Spark是大数据处理的计算引擎。,这是它的发展是为了解决替代Hadoop的MapReduce计算引擎。

    Hadoop的架构如下,核心包括两点:Hdfs和MapReduce。

    MapReduce的操作流程是 从存储介质读取数据 -》清洗计算 -》持久化到存储介质中。

    这样的架构存在两个问题:

    (1)不合适流式数据处理、机器学习及图挖掘等场景。

    (2)数据持久化到磁盘中,I/O速度慢。

    下面是Spark的架构及生态:

    (1)SparkSQL:提供通过Apache Hive的SQL变体Hive查询语言(HiveQL)与Spark进行交互的API。每个数据库表被当做一个RDD,Spark SQL查询被转换为Spark操作

    (2)SparkStreaming:对实时数据流进行处理和控制。Spark Streaming允许程序能够像普通RDD一样处理实时数据

    (3)MLLib:一个常用机器学习算法库,算法被实现为对RDD的Spark操作。这个库包含可扩展的学习算法,比如分类、回归等需要对大量数据集进行迭代的操作。

    (4)GraphX:控制图、并行图操作和计算的一组算法和工具的集合。GraphX扩展了RDD API,包含控制图、创建子图、访问路径上所有顶点的操作

    (5)Spark Core:包含Spark的基本功能;尤其是定义RDD的API、操作以及这两者上的动作。其他Spark的库都是构建在RDD和Spark Core之上的

    (6) 本地运行模式(Local)应用程序程序运行在一台计算机,多用于本地测试及练习。

    Spark组成如图:

    (1) Cluster Manager:在standalone模式中即为Master主节点,控制整个集群,监控worker。在YARN模式中为资源管理器。

    (2) Driver: 运行Application 的main()函数。

    (3)Executor:执行器,是为某个Application运行在worker node上的一个进程

    (4)Task:执行具体计算的线程。

    Spark本身并没有分布式存储系统,因此Spark的分析数据来源大多来自Hadoop的分布式文件系统Hdfs。

  • 相关阅读:
    CentOS安装node.js-8.11.1+替换淘宝NPM镜像
    【推荐】CentOS安装gcc-4.9.4+更新环境+更新动态库
    申请安装阿里云免费SSL证书
    服务器安全加固
    【推荐】优秀代码
    CenOS登录失败处理功能
    Ubuntu修改密码及密码复杂度策略设置
    mysql 5.7添加server_audit 安全审计功能
    快速安装jumpserver开源堡垒机
    oracle 11g 配置口令复杂度
  • 原文地址:https://www.cnblogs.com/zhangjwcode/p/12389821.html
Copyright © 2011-2022 走看看