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

结束语

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

相关推荐
大圣数据星球1 小时前
揭秘 Fluss 架构组件
大数据·设计模式·flink
沙滩de流沙1 小时前
Hadoop生态
大数据·hadoop·分布式
进击的小小学生1 小时前
多因子模型连载
大数据·python·数据分析·区块链
qiquandongkh1 小时前
期权懂|期权入门知识:如何选择期权合约?
大数据·区块链
技术小赵1 小时前
Facebook数据分析和报告不准确该如何解决?
数据挖掘·数据分析·facebook
互联网资讯1 小时前
抖音生活服务商系统源码怎么搭建?
大数据·运维·人工智能·生活
Allen_LVyingbo2 小时前
医院大数据平台建设:基于快速流程化工具集的考察
大数据·网络·人工智能·健康医疗
jiejianyun8572 小时前
零售小程序怎么自己搭建?开个小卖铺如何留住客户?
大数据
黑色叉腰丶大魔王2 小时前
数据挖掘:定义、挑战与应用
人工智能·数据挖掘
web135085886354 小时前
9. 大数据集群(PySpark)+Hive+MySQL+PyEcharts+Flask:信用贷款风险分析与预测
大数据·hive·mysql