Python大数据之PySpark(一)SparkBase

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*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 
目录
相关文章
|
1月前
|
机器学习/深度学习 算法 搜索推荐
从理论到实践,Python算法复杂度分析一站式教程,助你轻松驾驭大数据挑战!
【10月更文挑战第4天】在大数据时代,算法效率至关重要。本文从理论入手,介绍时间复杂度和空间复杂度两个核心概念,并通过冒泡排序和快速排序的Python实现详细分析其复杂度。冒泡排序的时间复杂度为O(n^2),空间复杂度为O(1);快速排序平均时间复杂度为O(n log n),空间复杂度为O(log n)。文章还介绍了算法选择、分而治之及空间换时间等优化策略,帮助你在大数据挑战中游刃有余。
60 4
|
13天前
|
并行计算 数据挖掘 大数据
Python数据分析实战:利用Pandas处理大数据集
Python数据分析实战:利用Pandas处理大数据集
|
1月前
|
分布式计算 Hadoop 大数据
大数据体系知识学习(一):PySpark和Hadoop环境的搭建与测试
这篇文章是关于大数据体系知识学习的,主要介绍了Apache Spark的基本概念、特点、组件,以及如何安装配置Java、PySpark和Hadoop环境。文章还提供了详细的安装步骤和测试代码,帮助读者搭建和测试大数据环境。
59 1
|
1月前
|
机器学习/深度学习 数据可视化 大数据
驾驭股市大数据:Python实战指南
【10月更文挑战第1天】随着信息技术的发展,投资者现在能够访问到前所未有的海量金融数据。本文将指导您如何利用Python来抓取当前股市行情的大数据,并通过分析这些数据为自己提供决策支持。我们将介绍从数据获取到处理、分析以及可视化整个流程的技术方法。
97 2
|
2月前
|
存储 大数据 索引
解锁Python隐藏技能:构建高效后缀树Suffix Tree,处理大数据游刃有余!
通过构建高效的后缀树,Python程序在处理大规模字符串数据时能够游刃有余,显著提升性能和效率。无论是学术研究还是工业应用,Suffix Tree都是不可或缺的强大工具。
53 6
|
1月前
|
大数据 关系型数据库 数据库
python 批量处理大数据写入数据库
python 批量处理大数据写入数据库
106 0
|
SQL JSON 分布式计算
【Python】PySpark 入门
【Python】PySpark 入门
248 0
|
3天前
|
存储 数据挖掘 开发者
Python编程入门:从零到英雄
在这篇文章中,我们将一起踏上Python编程的奇幻之旅。无论你是编程新手,还是希望拓展技能的开发者,本教程都将为你提供一条清晰的道路,引导你从基础语法走向实际应用。通过精心设计的代码示例和练习,你将学会如何用Python解决实际问题,并准备好迎接更复杂的编程挑战。让我们一起探索这个强大的语言,开启你的编程生涯吧!
|
9天前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的自我修养:从Python编程入门到深度学习实践
【10月更文挑战第39天】本文旨在为初学者提供一条清晰的道路,从Python基础语法的掌握到深度学习领域的探索。我们将通过简明扼要的语言和实际代码示例,引导读者逐步构建起对人工智能技术的理解和应用能力。文章不仅涵盖Python编程的基础,还将深入探讨深度学习的核心概念、工具和实战技巧,帮助读者在AI的浪潮中找到自己的位置。
|
9天前
|
机器学习/深度学习 数据挖掘 Python
Python编程入门——从零开始构建你的第一个程序
【10月更文挑战第39天】本文将带你走进Python的世界,通过简单易懂的语言和实际的代码示例,让你快速掌握Python的基础语法。无论你是编程新手还是想学习新语言的老手,这篇文章都能为你提供有价值的信息。我们将从变量、数据类型、控制结构等基本概念入手,逐步过渡到函数、模块等高级特性,最后通过一个综合示例来巩固所学知识。让我们一起开启Python编程之旅吧!