Python大数据之PySpark(一)SparkBase

文章目录

  • SparkBase环境基础
    • Spark框架概述
    • Spark环境搭建-Local

SparkBase环境基础

Spark学习方法:不断重复,28原则(使用80%时间完成20%重要内容)

Spark框架概述

Spark风雨十年s

  • 2012年Hadoop1.x出现,里程碑意义
  • 2013年Hadoop2.x出现,改进HDFS,Yarn,基于Hadoop1.x框架提出基于内存迭代式计算框架Spark

Python大数据之PySpark(一)SparkBase_第1张图片

  • 1-Spark全家桶,实现离线,实时,机器学习,图计算
  • 2-spark版本从2.x到3.x很多优化
  • 3-目前企业中最多使用Spark仍然是在离线处理部分,SparkSQL On Hive

Spark 是什么

  • Spark是一个处理大规模数据的计算引擎

Python大数据之PySpark(一)SparkBase_第2张图片

扩展阅读:Spark VS Hadoop

  • Spark和Hadoop对比

Python大数据之PySpark(一)SparkBase_第3张图片

  • 面试题:Hadoop的基于进程的计算和Spark基于线程方式优缺点?

答案:Hadoop中的MR中每个map/reduce task都是一个java进程方式运行,好处在于进程之间是互相独立的,每个task独享进程资源,没有互相干扰,监控方便,但是问题在于task之间不方便共享数据,执行效率比较低。比如多个map task读取不同数据源文件需要将数据源加载到每个map task中,造成重复加载和浪费内存。而基于线程的方式计算是为了数据共享和提高执行效率,Spark采用了线程的最小的执行单位,但缺点是线程之间会有资源竞争。

Spark 四大特点

1-速度快

Python大数据之PySpark(一)SparkBase_第4张图片

2-非常好用

Python大数据之PySpark(一)SparkBase_第5张图片

3-通用性

Python大数据之PySpark(一)SparkBase_第6张图片

4-运行在很多地方

Python大数据之PySpark(一)SparkBase_第7张图片

Spark 框架模块了解

  • Spark框架通信使用Netty框架,通信框架
  • Spark数据结构:核心数据RDD(弹性 分布式Distrubyte 数据集dataset),DataFrame
  • Spark部署模式(环境搭建)
  • Python大数据之PySpark(一)SparkBase_第8张图片
  • local
    • local 单个线程
    • local[*] 本地所有线程
    • local【k】 k个线程
    • Spark的RDD有很多分区,基于线程执行分区数据计算,并行计算
  • Python大数据之PySpark(一)SparkBase_第9张图片
  • standalone
  • StandaloneHA
  • Yarn

Spark环境搭建-Local

基本原理

1-Spark的Local模式使用的是单机多线程的方式模拟线程执行Spark的计算任务

2-Spark的local[1] 1个线程执行计算 local[*]本地的所有线程模拟

安装包下载

1-搞清楚版本,本机一定得搭建Hadoop集群(Hadoop3.3.0)

Python大数据之PySpark(一)SparkBase_第10张图片

Python大数据之PySpark(一)SparkBase_第11张图片

2-上传到Linux中,spark3.1.2-hadoop3.2-bin.tar.gz

Python大数据之PySpark(一)SparkBase_第12张图片

3-解压Spark的压缩包

tar -zxvf xxx.tar.gz -C /export/server

ln -s spark-3.1.2-bin-hadoop3.2/ /export/server/spark

4-更改配置文件

这里对于local模式,开箱即用

Python大数据之PySpark(一)SparkBase_第13张图片

5-测试

spark-shell方式 使用scala语言

Python大数据之PySpark(一)SparkBase_第14张图片

Python大数据之PySpark(一)SparkBase_第15张图片

pyspark方式 使用python语言

上午回顾:

为什么要学习Spark?

  • 答案:首先Spark是基于Hadoop1.x改进的大规模数据的计算引擎,Spark提供了多种模块,比如机器学习,图计算
  • 数据第三代计算引擎

什么是Spark?

  • Spark是处理大规模数据的计算引擎
  • 1-速度快,比Hadoop块100倍(机器学习算法) 2-易用性(spark.read.json) 3-通用性 4-run anywhere

Spark有哪些组件?

  • 1-SparkCore—以RDD(弹性,分布式,数据集)为数据结构
  • 2-SparkSQL----以DataFrame为数据结构
  • 3-SparkStreaming----以Seq[RDD],DStream离散化流构建流式应用
  • 4-结构化流structuredStreaming—DataFrame
  • 5-SparkMllib,机器学习,以RDD或DataFrame为例
  • 6-SparkGraphX,图计算,以RDPG弹性分布式属性图

Spark有哪些部署方式?

  • local模式
  • standalone模式(独立部署模式)
  • standaloneHA模式(高可用模式)
  • Yarn模式(Hadoop中分布式资源调度框架)

注意:

Python大数据之PySpark(一)SparkBase_第16张图片

你可能感兴趣的:(#,PySpark,python大数据,python,大数据,ajax)