《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允许他们在大规模分布式数据集上使用自己最熟悉的语言。

结束语

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

相关推荐
封步宇AIGC39 分钟前
量化交易系统开发-实时行情自动化交易-3.4.1.2.A股交易数据
人工智能·python·机器学习·数据挖掘
m0_5236742140 分钟前
技术前沿:从强化学习到Prompt Engineering,业务流程管理的创新之路
人工智能·深度学习·目标检测·机器学习·语言模型·自然语言处理·数据挖掘
huaqianzkh1 小时前
了解Hadoop:大数据处理的核心框架
大数据·hadoop·分布式
Kika写代码1 小时前
【Hadoop】【hdfs】【大数据技术基础】实验三 HDFS 基础编程实验
大数据·hadoop·hdfs
封步宇AIGC2 小时前
量化交易系统开发-实时行情自动化交易-3.4.1.6.A股宏观经济数据
人工智能·python·机器学习·数据挖掘
幸运小新2 小时前
数据分析-Excel基础操作
数据分析
okmacong3 小时前
2024.11.12_大数据的诞生以及解决的问题
大数据
Java资深爱好者5 小时前
数据湖与数据仓库的区别
大数据·数据仓库·spark
heromps5 小时前
hadoop报错找不到主类
大数据·hadoop·eclipse
未 顾7 小时前
day12:版本控制器
大数据·elasticsearch·搜索引擎