Spark概述

Spark概述

  • Spark是什么

    1. Apache Spark是一个快速的,多用途的集群计算系统,相对于Hadoop MapReduce将中间结果保存在磁盘中,Spark使用了内存保存中间结果,能在数据尚未写入硬盘时在内存中进行运算
    2. Spark只是一个计算框架,不像Hadoop一样包含了分布式文件系统和完备的调度系统,如果要使用Spark,需要搭载其它的文件系统和更成熟的调度系统
  • Spark特点

    1. 速度快

      1. Spark的在内存时的运行速度是Hadoop MapReduce的100倍
      2. 基于硬盘的运算速度大概是Hadoop MapReduce的10倍
      3. Spark实现了一种叫做RDDs的DAG执行引擎,其数据缓存在内存中可以进行迭代处理
    2. 易用

      1. Spark支持Java,Scala,Python,R,SQL等多种语言的API

      2. Spark支持超过80个高级运算符使得用户非常轻易的构建并行计算程序

      3. Spark可以使用基于Scala,Python,R,SQL的Shell交互式查询.

        df = spark.read.json("logs.json")
        df.where("age > 21") \
        	.select("name.first") \
        	.show()
        
    3. 通用

      1. Spark提供一个完整的技术栈,包括SQL执行,Dataset命令式API,机器学习库MLlib,图计算框架GraphX,流计算SparkStreaming
      2. 用户可以在同一个应用中同时使用这些工具,这一点是划时代的
    4. 兼容

      1. Spark可以运行在Hadoop Yarn,Apache Mesos,.Kubernets,Spark Standalone等集群中
      2. Spark可以访问HBase,HDFS,Hive,Cassandra在内的多种数据库
    5. 总结

      1. 支持Java,Scala,Python和R的API
      2. 可扩展至超过8K个节点
      3. 能够在内存中缓存数据集,以实现交互式数据分析
      4. 提供命令行窗口,减少探索式的数据分析的反应时间
  • Spark组成

    1. Spark-Core和弹性分布式数据集(RDDs)
      1. Spark-Core是整个Spark的基础,提供了分布式任务调度和基本的 I/O 功能
      2. Spark的基础的程序抽象是弹性分布式数据集(RDDs),是一个可以并行操作,有容错的数据集合
        1. RDDs 可以通过引用外部存储系统的数据集创建(如HDFS, HBase),或者通过现有的 RDDs 转换得到
        2. RDDs 抽象提供了Java, Scala, Python等语言的API
        3. RDDs 简化了编程复杂性,操作 RDDs 类似通过 Scala 或者 Java8 的 Streaming 操作本地数据集合
    2. Spark SQL
      1. Spark SQL 在 spark-core 基础之上带出了一个名为 DataSet 和 DataFrame 的数据抽象化的概念
      2. Spark SQL 提供了在 Dataset 和 DataFrame 之上执行 SQL 的能力
      3. Spark SQL 提供了 DSL, 可以通过 Scala,Java,Python 等语言操作 DataSet 和 DataFrame
      4. 它还支持使用 JDBC/ODBC 服务器操作 SQL 语言
    3. Spark Streaming
      1. Spark Streaming 充分利用 spark-core 的快速调度能力来运行流分析
      2. 它截取小批量的数据并可以对之运行 RDD Transformation
      3. 它提供了在同一个程序中同时使用流分析和批量分析的能力
    4. MLlib
      1. MLlib 是 Spark 上分布式机器学习的框架. Spark 分布式内存的架构 比 Hadoop 磁盘式的 Apache Mahout 快上10倍,扩展性也非常优良
      2. MLlib 可以使用许多常见的机器学习和统计算法,简化大规模机器学习
      3. 汇总统计,相关性,分层抽样,假设检定,随即数据生成
      4. 支持向量机,回归,线性回归,逻辑回归,决策树,朴素贝叶斯
      5. 协同过滤,ALS
      6. K-means
      7. SVD 奇异值分解,PCA 主成分分析
      8. TF-IDF , Word2Vec , StandardScaler
      9. SGD随机梯度下降,L-BFGS
    5. Graphx
      1. GraphX 是分布式图计算框架,提供了一组可以表达图计算的APL,GraphX还对这种抽象化提供了优化运行
    6. 总结
      1. Spark 提供了批处理 (RDDs), 结构化查询 (DataFrame),流计算 (SparkStreaming),机器学习 (MLlib), 图计算(GraphX)等组件

      2. 这些组件均是依托于通用的计算引擎 RDDs 而构建出的,所以 spark-core 的 RDDs 是整个 Spark 的基础

  • Spark和Hadoop之间的关系

    HadoopSpark
    类型基础平台,包含计算,存储,调度分布式计算工具
    场景大规模数据集上的批处理迭代计算,交互式计算,流计算
    延迟
    易用性API较为底层,算法适应性差API较为顶层,方便使用
    价格对机器要求低,便宜对内存有要求,相对较贵

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/296008.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

unity PDFRender Curved UI3.3

【PDF】PDFRender 链接:https://pan.baidu.com/s/1wSlmfiWTAHZKqEESxuMH6Q 提取码:csdn 【曲面ui】 Curved UI3.3 链接:https://pan.baidu.com/s/1uNZySJTW0-pPwi2FTE6fgA 提取码:csdn

Syntax Error: Error: Cannot find module ‘imagemin-optipng‘

一、背景: 心酸,很难受;本人主要做后端开发,这几天要打包前端项目 遇到了这个报错 Syntax Error: Error: Cannot find module imagemin-optipng 搞了3天时间才打包成功,使用了各种姿势才搞定。期间百度了各种方案都…

JVM工作原理与实战(七):类的生命周期-初始化阶段

专栏导航 JVM工作原理与实战 RabbitMQ入门指南 从零开始了解大数据 目录 专栏导航 前言 一、类的生命周期 1.加载(Loading) 2.连接(Linking) 3.初始化(Initialization) 4.使用(Using&…

噬菌体序列分析工具PhaVa的使用和使用方法

github: 25280841/PhaVa: Adapting the phasefinder approach for identifying phase variation to long reads (github.com) 挺简单的,这里就不翻译了,大家看着直接用吧。 PhaVa PhaVa is an approach for finding potentially Phase Variable invert…

linux中的系统安全

一.账号安全 将非登录用户的shell设为/sbin/nologin 系统中用户有三种:超级管理员 普通用户 程序用户 前两种用户可以登录系统,程序用户不给登录 所以称为非登录用户 命令格式: usermod -s /sbin/nologin(改已有用户&#…

【动态规划】【字符串】132.分割回文串 II

作者推荐 【动态规划】【字符串】扰乱字符串 本文涉及的基础知识点 动态规划 字符串 LeetCode132. 分割回文串 II 给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是回文。 返回符合要求的 最少分割次数 。 示例 1: 输入&#x…

11.2 Linux串口驱动框架

tty 驱动程序框架 tty 驱动程序从下往上分别是设备驱动层、行规程、终端虚拟化、TTY I/O层,它们的功能如下: 设备驱动层:用于驱动设备,如串口、显示器、键盘等。行规程:用于处理控制字符、回显输入数据、缓存输入数据…

矩阵的乘法

首先矩阵的乘法定义如下&#xff1a; #include <stdio.h> int main() { int i 0; int j 0; int arr[20][20] { 0 }; int str[20][20] { 0 }; int s[20][20] { 0 }; int n1 0; int n2 0; int m2 0; int z 0; int m1 0;…

使用IDEA官方docker插件构建镜像

此方法同样适用于jetbrains系列的其他开发软件 在IDEA中&#xff0c;如果是maven项目&#xff0c;可以使用插件 <plugin><groupId>com.spotify</groupId><artifactId>docker-maven-plugin</artifactId><version>1.2.2</version> &…

用于查询性能预测的计划结构深度神经网络模型--大数据计算基础大作业

用于查询性能预测的计划结构深度神经网络模型 论文阅读和复现 24.【X1.1】 在关系数据库查询优化领域&#xff0c;对查询时间的估计准确性直接决定了查询优化结果&#xff0c;进而影响到数据库整体的查询效率。但由于数据库自身的复杂性&#xff0c;查询时间受到数据分布、数据…

Linux操作实例 – 输入输出重定向

Linux操作实例 – 输入输出重定向 Input & Output Redirection Examples in Linux By Jackson 1. 前言 在操作计算机的时候&#xff0c;我们能够很容易通过键盘、鼠标给计算机输入信息&#xff08;例如&#xff1a;写公文、邮件&#xff0c;同时通过显示器得到输出。这就…

【AI视野·今日Sound 声学论文速览 第三十九期】Tue, 2 Jan 2024

AI视野今日CS.Sound 声学论文速览 Tue, 2 Jan 2024 Totally 7 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Sound Papers Enhancing Pre-trained ASR System Fine-tuning for Dysarthric Speech Recognition using Adversarial Data Augmentation Authors Huimen…

数据安全保护体系的设计原则

目录 引言 数据的分类分级原则 数据的分类分级是个长期且动态的过程 数据的分类分级应结合实际应用和业务特性 建立数据分类分级制度和体系也是非常重要的 最小化原则 企业需要对数据访问的用户进行身份验证 企业需要明确用户访问数据的目的是什么 企业需要梳理数据访问…

CentOS 7 安装 PPTP

环境&#xff1a; 阿里云试用机&#xff1a; 外网IP&#xff1a;114.55.80.150 内网IP&#xff1a;172.28.11.92 一、服务器安装 PPTP 1、安装 yum install epel-release -y 2、安装pptp yum install pptpd iptables-services -y 3、修改配置 vim /etc/pptpd.conf# 最…

DS|二叉树

题目一&#xff1a;DS二叉树 -- 二叉树构建与遍历 题目描述&#xff1a; 给定一颗二叉树的逻辑结构如下图&#xff0c;&#xff08;先序遍历的结果&#xff0c;空树用字符‘#’表示&#xff0c;例如AB#C##D##&#xff09;&#xff0c;建立该二叉树的二叉链式存储结构&#xf…

【面试高频算法解析】算法练习5 深度优先搜索

前言 本专栏旨在通过分类学习算法&#xff0c;使您能够牢固掌握不同算法的理论要点。通过策略性地练习精选的经典题目&#xff0c;帮助您深度理解每种算法&#xff0c;避免出现刷了很多算法题&#xff0c;还是一知半解的状态 专栏导航 二分查找回溯&#xff08;Backtracking&…

【代码随想录】刷题笔记Day46

前言 刚考完自辩&#xff0c;Chat回答举例什么的真方便。早上做组会PPT去了&#xff0c;火速来刷题&#xff01; 139. 单词拆分 - 力扣&#xff08;LeetCode&#xff09; 单词是物品&#xff0c;字符串s是背包&#xff0c;单词能否组成字符串s&#xff0c;就是问物品能不能把…

1.3进制,码(8421),化简规则、卡诺图化简、性质,触发器(转换与设计、应用),电路图,电路设计

十进制与原码、反码、补码之间的转换 正数的原码、反码、补码相同&#xff0c;符号位为0 负数的原码为、符号位1&#xff0c;二进制数 反码&#xff0c;符号位不变、其它取反&#xff0c; 补码为&#xff1a;反码最低有效位1 运算 卡诺图化简 奇偶校验码 检查1的个数&…

使用CentOS 7.6搭建HTTP隧道代理服务器

在现代网络环境中&#xff0c;HTTP隧道代理服务器因其灵活性和安全性而受到广泛关注。CentOS 7.6&#xff0c;作为一个稳定且功能强大的Linux发行版&#xff0c;为搭建此类服务器提供了坚实的基础。 首先&#xff0c;我们需要明确HTTP隧道代理的基本原理。HTTP隧道代理允许客户…

字节填充与0比特填充以及数据链路的基本问题

目录 字节填充&#xff1a; 比特填充&#xff1a; 数据链路有三个基本问题 1.封装成帧 2.透明传输 3.差错检测 首先介绍一下PPP的帧结构&#xff1a; 首部的第一个字段和尾部的第二个字段都是标志字段F(Flag)&#xff0c;规定为0x7E (符号“0x”表示它后面的字符是用十六…