【Python】PySpark 数据处理 ① ( PySpark 简介 | Apache Spark 简介 | Spark 的 Python 语言版本 PySpark | Python 语言场景 )

2023-07-29 22:22:59





一、PySpark 简介




1、Apache Spark 简介


Spark 是 Apache 软件基金会 顶级项目 , 是 开源的 分布式大数据处理框架 , 专门用于 大规模数据处理 , 是一款 适用于 大规模数据处理 的 统一分析引擎 ;


与 Hadoop 的 MapReduce 相比,

  • Spark 保留了 MapReduce 的 可扩展、分布式、容错处理框架的优势 , 使用起来更加 高效 简洁 ;
  • Spark 把 数据分析 中的 中间数据保存在内存中 , 减少了 频繁磁盘读写 导致的延迟 ;
  • Spark 与 Hadoop 生态系统 的 对象存储 COS 、HDFS 、Apache HBase 等紧密集成 ;

借助 Spark 分布式计算框架 , 可以调度 由 数百乃至上千 服务器 组成的 服务器集群 , 计算 PB / EB 级别的海量大数据 ;


Spark 支持多种编程语言 , 包括Java、Python、R和Scala , 其中 Python 语言版本的对应模块就是 PySpark ;

Python 是 Spark 中使用最广泛的语言 ;


2、Spark 的 Python 语言版本 PySpark


Spark 的 Python 语言版本 是 PySpark , 这是一个第三方库 , 由 Spark 官方开发 , 是 Spark 为 Python 开发者提供的 API ;

PySpark 允许 Python 开发者 使用 Python 语言 编写Spark应用程序 , 利用 Spark 数据分析引擎 的 分布式计算能力 分析大数据 ;

PySpark 提供了丰富的的 数据处理 和 分析功能模块 :

  • Spark Core : PySpark 核心模块 , 提供 Spark 基本功能 和 API ;
  • Spark SQL : SQL 查询模块 , 支持多种数据源 , 如 : CSV、JSON、Parquet ;
  • Spark Streaming : 实时流数据处理模块 , 可处理 Twitter、Flume等 实时数据流 ;
  • Spark MLlib : 机器学习 算法 和 库 , 如 : 分类、回归、聚类 等 ;
  • Spark GraphFrame : 图处理框架模块 ;

开发者 可以使用 上述模块 构建复杂的大数据应用程序 ;


3、PySpark 应用场景


PySpark 既可以作为 Python 库进行数据处理 , 在自己的电脑上进行数据处理 ;
又可以向 Spark 集群提交任务 , 进行分布式集群计算 ;

在这里插入图片描述


4、Python 语言使用场景


Python 语言的使用场景很丰富 , 可以有如下应用场景 :

  • 桌面 GUI 程序开发
  • 嵌入式开发
  • 测试开发 / 运维开发
  • Web 后端开发
  • 音视频开发
  • 图像处理
  • 游戏开发
  • 办公自动化
  • 科学研究
  • 大数据分析
  • 人工智能

大部分场景 都有专用的 语言 与 开发平台 , 不要贸然使用 Python 进行一般领域进行开发 , 如 : Web 领域 , Python 对其支持并不是很好 , 生态环境不全 ;

Python 语言主流应用于 大数据 与 人工智能 领域 , 在其它领域 , 基本不使用 Python 语言开发 ;

更多推荐

Javascript数据类型和类型转换的应用场景

🎬岸边的风:个人主页🔥个人专栏:《VUE》《javaScript》⛺️生活的理想,就是为了理想的生活!目录基础数据类型和引用数据类型使用typeof操作符包装类型隐式类型转换1.数字转字符串:2.字符串转数字:3.布尔值转数字:4.字符串转布尔值:5.对象的隐式转换显式类型转换类型转换规则1.类型转换的优先级:在J

Python 之plt.plot()的介绍以及使用

文章目录介绍代码实例介绍plt.plot()是Matplotlib库中用于绘制线图(折线图)的主要函数之一。它的作用是将一组数据点连接起来,以可视化数据的趋势、关系或模式。以下是plt.plot()的详细介绍:plt.plot(x,y,fmt,**kwargs)x:表示X轴上的数据点,通常是一个列表、数组或一维序列,用

使用ZoeDepth生成深度估计图

目前单目深度估计分为两个派系,metricdepthestimation(度量深度估计,也称绝对深度估计)和relativedepthestimation(相对深度估计)。ZoeDepth是第一个结合相对和绝对深度的多模态单目深度估计网络。本博文仅记录使用ZoeDepth生成深度估计图的过程(因为直接按项目说明中进行使

【Azure】浅析 Azure 交互工具:Azure 门户、Azure Cloud Shell、 Azure CLI 和 Azure PowerShell | 文末送书

文章目录前言Azure门户AzureCloudShell,包括AzureCLI和AzurePowerShell什么是AzureCloudShell?什么是AzurePowerShell?什么是AzureCLI?对Azure交互的工具在AZ-900中的考点文末送书书籍介绍关于作者获取方式前言本文将深入浅出地探讨Micro

k8s(Kubernetes)集群部署--使用 kubeadm方式部署

k8s集群部署--使用kubeadm方式部署一、测试所需环境(三台均要执行)二、配置准备(三台均要执行)1.重命名hostname、添加hosts2.关闭防火墙、selinux与swap3.添加网桥过滤及内核转发配置文件4.同步时间5.安装ipset及ipvsadm三、安装docker(三台均要执行)1.配置Docke

微服务 第三章 Spring Cloud 简介

系列文章目录第一章Java线程池技术应用第二章CountDownLatch和Semaphone的应用第三章SpringCloud简介文章目录系列文章目录@[TOC](文章目录)前言:SpringCloud是一款基于SpringBoot实现的微服务框架1、SpringCloud的常用组件如下表所示。2、SpringBoo

Ubuntu20.04安装Nvidia显卡驱动、CUDA11.3、CUDNN、TensorRT、Anaconda、ROS/ROS2

1.更换国内源打开终端,输入指令:wgethttp://fishros.com/install-Ofishros&&.fishros选择【5】更换系统源,后面还有一个要输入的选项,选择【0】退出,就会自动换源。2.安装NVIDIA驱动这一步最痛心了家人们,网上的教程太多了,我总是想着离线安装,每次安装都无法开机,要不就

【Android】关于Activity的onSaveInstanceState生命周期

最近笔者求职时面试一家大厂,被问到Activity的生命周期,其中面试官着重问了onSaveInstanceState的调用是在onStop之前还是之后,本人当时有点蒙圈,之前也没有关注它到底是在OnStop之前还是之后。但是这个方法在什么时候调用的重要吗?我们只是用它来保存数据的,然后在onRestoreInstan

Learn Prompt-经验法则

还记得我们在“基础用法”当中提到的三个经验法则吗?尝试提示的多种表述以获得最佳结果使用清晰简短的提示,避免不必要的词语减少不精确的描述现在经过了几页的学习,我认为是时候引入一些新的原则了。3.一个话题对应一个chat​ChatGPT是一个聊天机器人,在生成过程中,它会参考以前的聊天历史,同一对话中出现不同主题会影响下游

ChatGPT Prompting开发实战(九)

一、什么是推理式的prompt开发有时候需要针对一些产品的评论文本进行分析,常见的做法如对每段评论所表达的情感倾向进行推理判断,识别用户对这个产品的使用体验是否满意,那么可以编写相关的prompt来做这样的推理分析。另外,针对不同的文本内容,也可以根据给出的主题来让模型判断一段内容属于什么样的主题。接下来会给出具体示例

数组和指针笔试题解析之【数组】

目录前言:1.一维数组:2.字符数组:2.1题型一:2.2题型二:2.3题型三:3.二维数组:前言:1.数组名的意义:sizeof(数组名):这里的数组名表示整个数组,计算的是整个数组的大小,单位是字节。&数组名:这里的数组名表示整个数组,取出的是整个数组的地址。除此之外所有的数组名都表示首元素的地址。2.地址在内存中

热文推荐