Python大数据之PySpark(一)SparkBase

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: Python大数据之PySpark(一)SparkBase

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是一个处理大规模数据的计算引擎

扩展阅读:Spark VS Hadoop

  • Spark和Hadoop对比

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

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

Spark 四大特点

1-速度快

2-非常好用

3-通用性

4-运行在很多地方

Spark 框架模块了解

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

Spark环境搭建-Local

基本原理

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

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

安装包下载

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

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

3-解压Spark的压缩包

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

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

4-更改配置文件

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

5-测试

spark-shell方式 使用scala语言

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

注意:

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
2月前
|
机器学习/深度学习 算法 搜索推荐
从理论到实践,Python算法复杂度分析一站式教程,助你轻松驾驭大数据挑战!
【10月更文挑战第4天】在大数据时代,算法效率至关重要。本文从理论入手,介绍时间复杂度和空间复杂度两个核心概念,并通过冒泡排序和快速排序的Python实现详细分析其复杂度。冒泡排序的时间复杂度为O(n^2),空间复杂度为O(1);快速排序平均时间复杂度为O(n log n),空间复杂度为O(log n)。文章还介绍了算法选择、分而治之及空间换时间等优化策略,帮助你在大数据挑战中游刃有余。
87 4
|
1天前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
13 2
|
1月前
|
并行计算 数据挖掘 大数据
Python数据分析实战:利用Pandas处理大数据集
Python数据分析实战:利用Pandas处理大数据集
|
2月前
|
分布式计算 Hadoop 大数据
大数据体系知识学习(一):PySpark和Hadoop环境的搭建与测试
这篇文章是关于大数据体系知识学习的,主要介绍了Apache Spark的基本概念、特点、组件,以及如何安装配置Java、PySpark和Hadoop环境。文章还提供了详细的安装步骤和测试代码,帮助读者搭建和测试大数据环境。
72 1
|
2月前
|
机器学习/深度学习 数据可视化 大数据
驾驭股市大数据:Python实战指南
【10月更文挑战第1天】随着信息技术的发展,投资者现在能够访问到前所未有的海量金融数据。本文将指导您如何利用Python来抓取当前股市行情的大数据,并通过分析这些数据为自己提供决策支持。我们将介绍从数据获取到处理、分析以及可视化整个流程的技术方法。
122 2
|
3月前
|
存储 大数据 索引
解锁Python隐藏技能:构建高效后缀树Suffix Tree,处理大数据游刃有余!
通过构建高效的后缀树,Python程序在处理大规模字符串数据时能够游刃有余,显著提升性能和效率。无论是学术研究还是工业应用,Suffix Tree都是不可或缺的强大工具。
63 6
|
2月前
|
大数据 关系型数据库 数据库
python 批量处理大数据写入数据库
python 批量处理大数据写入数据库
136 0
|
SQL 机器学习/深度学习 分布式计算
Python之pyspark:pyspark的简介、安装、使用方法之详细攻略
Python之pyspark:pyspark的简介、安装、使用方法之详细攻略
Python之pyspark:pyspark的简介、安装、使用方法之详细攻略
|
15天前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!
|
14天前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。