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

结束语

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

相关推荐
极客天成ScaleFlash28 分钟前
极客天成 NVFile 存算融合解决方案
算法·数据挖掘
持续进阶的开发者1 小时前
工作中常用Elasticsearch命令汇总
大数据·elasticsearch·搜索引擎
盛世宏博北京1 小时前
多协议温湿度传感器技术解析及系统集成方案设计
大数据·人工智能·温湿度传感器
谁似人间西林客1 小时前
工厂大脑:深度融合AI能力的智能化制造运营管理平台
大数据·人工智能·制造
Pentane.2 小时前
【数据分析 | 农业项目】蔬菜类商品的自动定价与补货决策 | Tableau & Excel
数据挖掘·数据分析·excel·tableau
杰克尼2 小时前
天机学堂项目总结(day1~day2)
大数据·jvm·spring·elasticsearch·搜索引擎·spring cloud·mybatis
简简单单就是我_hehe2 小时前
高吞吐、低成本日志系统方案ClickHouse + Filebeat/Fluentd
大数据
永霖光电_UVLED3 小时前
让光学钟从实验室走向现实
大数据·汽车·制造
璞华Purvar3 小时前
2026酵母行业PLM的解决方案有哪些?璞华易研PLM赋能酵母行业数字化研发升级
大数据·人工智能
金融小师妹3 小时前
基于机器学习的黄金定价模型:风险不确定性下降后的结构重估
大数据·人工智能·深度学习·svn·能源