《PySpark大数据分析实战》-05.PySpark库介绍

📋 博主简介

  • 💖 作者简介:大家好,我是wux_labs。😜
    热衷于各种主流技术,热爱数据科学、机器学习、云计算、人工智能。
    通过了TiDB数据库专员(PCTA)、TiDB数据库专家(PCTP)、TiDB数据库认证SQL开发专家(PCSD)认证。
    通过了微软Azure开发人员、Azure数据工程师、Azure解决方案架构师专家认证。
    对大数据技术栈Hadoop、Hive、Spark、Kafka等有深入研究,对Databricks的使用有丰富的经验。
  • 📝 个人主页:wux_labs,如果您对我还算满意,请关注一下吧~🔥
  • 📝 个人社区:数据科学社区,如果您是数据科学爱好者,一起来交流吧~🔥
  • 🎉 请支持我:欢迎大家 点赞👍+收藏⭐️+吐槽📝,您的支持是我持续创作的动力~🔥

《PySpark大数据分析实战》-05.PySpark库介绍

《PySpark大数据分析实战》-05.PySpark库介绍

前言

大家好!今天为大家分享的是《PySpark大数据分析实战》第1章第5节的内容:PySpark库介绍。

PySpark库介绍

Spark是用Scala语言编写的,运行在JVM上,也就是Spark的任务都是以JVM的进程来运行的。Python是机器学习的首选语言,Python编写的代码运行在Python进程里面。在Python代码中想要调用Spark的API,就涉及到Python进程与JVM进程之间的通信与交互,想要实现这样不同进程之间的交互,就需要用到远程过程调用(RPC)。Py4j是一个非常有趣的RPC库,它可以在JVM进程开辟一个ServerSocket来监听客户端的连接,在Python进程端启动一个连接池连接到JVM,所有的远程调用都被封装成消息指令,通过连接池中的连接将消息指令发送到JVM远程执行。Py4j实现了让Python自由操纵Java,借助Py4j就可以实现在Python代码中调用Spark的API,但是,每次调用Spark的API都让开发人员自己编写RPC代码,效率低下且不易使用,这时PySpark就诞生了。

为了让Spark支持Python,Apache Spark社区发布了一个工具库PySpark,PySpark是Python中Apache Spark的接口。SparkContext作为Spark应用程序的入口,执行Spark应用程序会优先在Driver端创建SparkContext。在Python Driver端,SparkContext利用Py4j启动一个JVM并创建JavaSparkContext,借助Py4j实现Python代码与JavaSparkContext的通信。Python环境下的RDD会被映射成Java环境下的PythonRDD。在Executor端,PythonRDD对象会启动一些子进程,并与这些子进程通信,以此来发送数据和执行代码。PySpark的架构如图所示。

大多数数据科学家和数据分析师都熟悉Python,并使用它来实现机器学习,PySpark允许他们在大规模分布式数据集上使用自己最熟悉的语言。

结束语

好了,感谢大家的关注,今天就分享到这里了,更多详细内容,请阅读原书或持续关注专栏。

相关推荐
ltqvibe3 小时前
企业数智化中台的五层架构——AI框架为什么需要纵向贯通
大数据·人工智能·架构
吴free4 小时前
现代软件工程新范式:Harness、LOOP与Graph工程深度解析
大数据·软件工程
MuMuMu12236 小时前
工业园区 VOCs 绿岛集中治理:越华环保集团项目技术方案与工程实践
大数据·运维
AI大模型-小雄6 小时前
Codex写分页接口为什么越翻越慢?用Cursor Pagination解决重复与漏数据
大数据·数据库·elasticsearch·搜索引擎·chatgpt·后端开发·codex
品牌测评6 小时前
大模型推理算力平台推荐分享|六家平台计费与架构拆解
大数据·人工智能·架构
LedgerNinja6 小时前
WEEX 真实情况如何?交易平台如何判断是否可靠
大数据·人工智能·区块链
微三云 - 廖会灵 (私域系统开发)6 小时前
智慧社区运营破局:“消费返物业费” 模式的数字化架构与落地实践
大数据·架构
杨超越luckly8 小时前
Agent应用指南:获取12306官网全量站点及其编码信息
python·数据挖掘·数据分析·可视化·12306
Databuff8 小时前
workbuddy能不能私有化部署
大数据·人工智能·开源软件
自由能燃气设备8 小时前
燃气容积式热水器厂家选购指南:2026年商用热水设备采购避坑手册
大数据·数据库·数据仓库·人工智能