python - 当我们将 jar 导入 pyspark shell 时,后台会发生什么
问题描述
我了解 pyspark shell 使用 Python 解释器。如何将 jar 导入其中?后台发生了什么使之成为可能?
解决方案
简而言之,没什么,因为您只需将 jar 导入Python 解释器(好吧,除非您使用 Jython,但那是另一回事)。
在 PySpark 中,Python 解释器使用套接字与 JVM 通信。
- Python 序列化数据(某种形式)或命令,并通过套接字将其发送到 JVM 进程。
- JVM 进程对事物进行反序列化,决定如何处理它,计算结果并通过套接字将其发送到 Python 解释器。
如果发生任何从 jar 导入,它会发生在 JVM 的“自然”环境中。
它使用的特定工具是Py4j,因此您可以在对实现细节感兴趣的情况下查看它,但也存在其他类似的工具。
推荐阅读
- git - 合并到 master 忽略 master 上的错误提交
- laravel - 对不同页面使用一种布局的最佳方式是什么?(无数据库)
- android - 如何在 react-native 中激活 GPS 图标?
- mysql - 无法在 docker-compose 中将 MySQL 与 Spring Boot 连接起来
- elasticsearch - 如何从弹性云 API 控制台提交查询?
- python - 在 python 中使用 boto3 在 S3 的子目录中上传文件
- javascript - 为没有 cookie 的 PHP 脚本函数选择的值
- vuejs-datepicker - 语言似乎在 vuejs-datepicker 中不起作用
- html-agility-pack - HtmlAgilityPack SelectNodes InnerText 返回占位符文本而不是实际值
- linux - 如何编辑 /etc/profile?