前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python大数据之PySpark(一)SparkBase

Python大数据之PySpark(一)SparkBase

作者头像
Maynor
发布2023-09-27 08:12:55
2020
发布2023-09-27 08:12:55
举报

SparkBase环境基础

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

Spark框架概述

Spark风雨十年s

  • 2012年Hadoop1.x出现,里程碑意义
  • 2013年Hadoop2.x出现,改进HDFS,Yarn,基于Hadoop1.x框架提出基于内存迭代式计算框架Spark
在这里插入图片描述
在这里插入图片描述
  • 1-Spark全家桶,实现离线,实时,机器学习,图计算
  • 2-spark版本从2.x到3.x很多优化
  • 3-目前企业中最多使用Spark仍然是在离线处理部分,SparkSQL On Hive

Spark 是什么

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

扩展阅读:Spark VS Hadoop

  • Spark和Hadoop对比
在这里插入图片描述
在这里插入图片描述

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

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

Spark 四大特点

1-速度快

image-20210907110823154
image-20210907110823154

2-非常好用

image-20210907110956105
image-20210907110956105

3-通用性

image-20210907111041446
image-20210907111041446

4-运行在很多地方

image-20210907111217168
image-20210907111217168

Spark 框架模块了解

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

Spark环境搭建-Local

基本原理

1-Spark的Local模式使用的是单机多线程的方式模拟线程执行Spark的计算任务 2-Spark的local[1] 1个线程执行计算 local[*]本地的所有线程模拟

安装包下载

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

image-20210907114551598
image-20210907114551598
image-20210907114646404
image-20210907114646404

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

image-20210907113616918
image-20210907113616918

3-解压Spark的压缩包 tar -zxvf xxx.tar.gz -C /export/server ln -s spark-3.1.2-bin-hadoop3.2/ /export/server/spark 4-更改配置文件 这里对于local模式,开箱即用

image-20210907114938950
image-20210907114938950

5-测试 spark-shell方式 使用scala语言

image-20210907115431511
image-20210907115431511
image-20210907115541264
image-20210907115541264

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中分布式资源调度框架)

注意:

image-20210907144940176
image-20210907144940176
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • SparkBase环境基础
  • Spark框架概述
  • Spark环境搭建-Local
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档