[每日一氵] py4j.protocol.Py4JError: An error occurred while calling xx

供兄弟们检索这个问题

py4j.protocol.Py4JNetworkError: Answer from Java side is empty
py4j.protocol.Py4JError: An error occurred while calling

报错log全文

2024-11-06T14:15:57.638+0800: 1.362: [GC (Allocation Failure) [PSYoungGen: 209920K->13072K(279552K)] 209920K->13088K(2027520K), 0.0144828 secs] [Times: user=0.02 sys=0.01, real=0.02 secs] 
2024-11-06T14:15:57.846+0800: 1.570: [GC (Metadata GC Threshold) [PSYoungGen: 43298K->6592K(489472K)] 43314K->6616K(2237440K), 0.0055518 secs] [Times: user=0.01 sys=0.00, real=0.00 secs] 
2024-11-06T14:15:57.852+0800: 1.576: [Full GC (Metadata GC Threshold) [PSYoungGen: 6592K->0K(489472K)] [ParOldGen: 24K->6391K(309760K)] 6616K->6391K(799232K), [Metaspace: 20673K->20673K(1067008K)], 0.0246174 secs] [Times: user=0.06 sys=0.01, real=0.03 secs] 
2024-11-06T14:15:59.520+0800: 3.244: [GC (Metadata GC Threshold) [PSYoungGen: 225839K->13730K(489472K)] 232230K->20201K(799232K), 0.0128483 secs] [Times: user=0.03 sys=0.00, real=0.02 secs] 
2024-11-06T14:15:59.533+0800: 3.257: [Full GC (Metadata GC Threshold) [PSYoungGen: 13730K->0K(489472K)] [ParOldGen: 6471K->18273K(479744K)] 20201K->18273K(969216K), [Metaspace: 33753K->33753K(1079296K)], 0.0308338 secs] [Times: user=0.06 sys=0.01, real=0.03 secs] 
xxxx/pyspark.zip/pyspark/context.py:340: RuntimeWarning: Failed to add file [EEE/anti.py] specified in 'spark.submit.pyFiles' to Python path:YYYTTTUUU.jarxxxxxxxx/__pyfiles__xxxx/pyspark.zipxxxx/py4j-0.10.9.5-src.zipxxxx/executor_user_py_env/lib/python39.zipxxxx/executor_user_py_env/lib/python3.9xxxx/executor_user_py_env/lib/python3.9/lib-dynloadxxxx/executor_user_py_env/lib/python3.9/site-packageswarnings.warn(
xxxx/pyspark.zip/pyspark/context.py:340: RuntimeWarning: Failed to add file [EEE/common_define.py] specified in 'spark.submit.pyFiles' to Python path:YYYTTTUUU.jarxxxxxxxx/__pyfiles__xxxx/pyspark.zipxxxx/py4j-0.10.9.5-src.zipxxxx/executor_user_py_env/lib/python39.zipxxxx/executor_user_py_env/lib/python3.9xxxx/executor_user_py_env/lib/python3.9/lib-dynloadxxxx/executor_user_py_env/lib/python3.9/site-packageswarnings.warn(
xxxx/pyspark.zip/pyspark/context.py:340: RuntimeWarning: Failed to add file [EEE/config.py] specified in 'spark.submit.pyFiles' to Python path:YYYTTTUUU.jarxxxxxxxx/__pyfiles__xxxx/pyspark.zipxxxx/py4j-0.10.9.5-src.zipxxxx/executor_user_py_env/lib/python39.zipxxxx/executor_user_py_env/lib/python3.9xxxx/executor_user_py_env/lib/python3.9/lib-dynloadxxxx/executor_user_py_env/lib/python3.9/site-packageswarnings.warn(
xxxx/pyspark.zip/pyspark/context.py:340: RuntimeWarning: Failed to add file [EEE/utils.py] specified in 'spark.submit.pyFiles' to Python path:YYYTTTUUU.jarxxxxxxxx/__pyfiles__xxxx/pyspark.zipxxxx/py4j-0.10.9.5-src.zipxxxx/executor_user_py_env/lib/python39.zipxxxx/executor_user_py_env/lib/python3.9xxxx/executor_user_py_env/lib/python3.9/lib-dynloadxxxx/executor_user_py_env/lib/python3.9/site-packageswarnings.warn(
================================
[INFO] SQL DATA READING STARTING |
================================
2024-11-06T14:16:03.676+0800: 7.399: [GC (Metadata GC Threshold) [PSYoungGen: 333446K->23988K(641024K)] 351720K->42270K(1120768K), 0.0201206 secs] [Times: user=0.04 sys=0.01, real=0.02 secs] 
2024-11-06T14:16:03.696+0800: 7.419: [Full GC (Metadata GC Threshold) [PSYoungGen: 23988K->0K(641024K)] [ParOldGen: 18281K->31872K(658432K)] 42270K->31872K(1299456K), [Metaspace: 55449K->55446K(1101824K)], 0.0935589 secs] [Times: user=0.24 sys=0.02, real=0.09 secs] 
2024-11-06T14:16:08.425+0800: 12.149: [GC (Metadata GC Threshold) [PSYoungGen: 436446K->42196K(670720K)] 468318K->74076K(1329152K), 0.0335286 secs] [Times: user=0.06 sys=0.02, real=0.03 secs] 
2024-11-06T14:16:08.459+0800: 12.182: [Full GC (Metadata GC Threshold) [PSYoungGen: 42196K->0K(670720K)] [ParOldGen: 31880K->55897K(916480K)] 74076K->55897K(1587200K), [Metaspace: 93222K->93222K(1134592K)], 0.0877626 secs] [Times: user=0.18 sys=0.03, real=0.09 secs] 
ERROR:root:Exception while sending command.
Traceback (most recent call last):File "xxxx/py4j-0.10.9.5-src.zip/py4j/clientserver.py", line 516, in send_commandraise Py4JNetworkError("Answer from Java side is empty")
py4j.protocol.Py4JNetworkError: Answer from Java side is emptyDuring handling of the above exception, another exception occurred:Traceback (most recent call last):File "xxxx/py4j-0.10.9.5-src.zip/py4j/java_gateway.py", line 1038, in send_commandresponse = connection.send_command(command)File "xxxx/py4j-0.10.9.5-src.zip/py4j/clientserver.py", line 539, in send_commandraise Py4JNetworkError(
py4j.protocol.Py4JNetworkError: Error while sending or receiving
Traceback (most recent call last):File "xxxx/main.py", line 142, in <module>df_spark.show(3, truncate=False)File "xxxx/pyspark.zip/pyspark/sql/dataframe.py", line 615, in showFile "xxxx/py4j-0.10.9.5-src.zip/py4j/java_gateway.py", line 1321, in __call__File "xxxx/pyspark.zip/pyspark/sql/utils.py", line 190, in decodef __init__(self, *args, **kwargs):File "xxxx/py4j-0.10.9.5-src.zip/py4j/protocol.py", line 334, in get_return_value
py4j.protocol.Py4JError: An error occurred while calling o190.showString

报错代码:

from pyspark.sql import SparkSession# 创建一个SparkSession
spark = (SparkSession.builder.appName("spark XX Demo").master("local[1]")  # <----- 把这里删掉就好了.getOrCreate()
)

报错原因:

在使用 PySpark 本地模式时,.master("local[1]") 和没有指定 master 设置之间是有区别的:

.master("local[1]")

  • 这个配置表示使用单线程在本地运行 Spark 应用程序。所有任务都会在同一个线程中顺序执行。
  • 在这种模式下,Spark 的执行环境是非常受限的,尤其是当你的应用程序涉及到多线程或需要并行执行时,可能会遇到资源不足或死锁等问题。
  • 当你使用 local[1] 时,所有的任务(包括驱动程序和执行器)都在同一个线程中运行,这可能导致 Py4J 的通信问题,因为没有足够的线程来处理 Python 和 JVM 之间的通信。

没有指定 master

  • 如果没有指定 master,Spark 默认为 local[*],即使用本地机器上所有可用的 CPU 核心。
  • 这种情况下,Spark 可以并行执行任务,充分利用多核 CPU 的资源,更加接近于集群模式的运行方式,也更不容易出现资源竞争的问题。
  • 使用多个线程可以避免一些因为单线程执行导致的网络通信阻塞或资源竞争问题。

因此,删除 .master("local[1]") 之后,Spark 使用了多线程模式,这解决了之前由于单线程执行导致的 Py4J 网络通信问题。在开发和测试时,使用 local[*] 通常会提供更好的性能和更少的运行时问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/468810.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ADC前端控制与处理模块--AD7606_Module

总体框架 AD7606_Module主要由3个模块组成组成&#xff0c;AD7606_Data_Pkt和AD7606_Drive以及AD7606_ctrl。 1.AD7606_Data_Pkt主要作用是把AD芯片数据组好数据包&#xff0c;然后发送给上位机&#xff1b; 2.AD7606_Drive主要负责和芯片的交互部分 3.AD7606_ctrl控制模块的作…

Unity 插件 - Project窗口资源大小显示

Unity 插件 - Project窗口资源大小显示 &#x1f354;功能&#x1f32d;安装 &#x1f354;功能 &#x1f4a1;.显示Project Assets 和Packages下所有文件的大小&#xff08;右侧显示&#xff09; &#x1f4a1;.统计选中文件夹及其子文件夹下所有文件的大小并显示&#xff08…

HTB:Photobomb[WriteUP]

目录 连接至HTB服务器并启动靶机 使用nmap对靶机进行端口开放扫描 再次使用nmap对靶机开放端口进行脚本、服务扫描 使用ffuf进行简单的子域名扫描 使用浏览器直接访问该域名 选取一个照片进行下载&#xff0c;使用Yakit进行抓包 USER_FLAG&#xff1a;a9afd9220ae2b5731…

ssm教室信息管理系统+vue

系统包含&#xff1a;源码论文 所用技术&#xff1a;SpringBootVueSSMMybatisMysql 免费提供给大家参考或者学习&#xff0c;获取源码看文章最下面 需要定制看文章最下面 目 录 目 录 III 1 绪论 1 1.1 研究背景 1 1.2目的和意义 1 1.3 论文结构安排 2 2 相关技术 3 …

详解Java之Spring MVC篇二

目录 获取Cookie/Session 理解Cookie 理解Session Cookie和Session的区别 获取Cookie 获取Session 获取Header 获取User-Agent 获取Cookie/Session 理解Cookie HTTP协议自身是“无状态”协议&#xff0c;但是在实际开发中&#xff0c;我们很多时候是需要知道请求之间的…

量子计算及其在密码学中的应用

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 量子计算及其在密码学中的应用 量子计算及其在密码学中的应用 量子计算及其在密码学中的应用 引言 量子计算概述 定义与原理 发展…

当财政支持减弱时,国有企业如何实现降本增效?

当财政支持减弱时&#xff0c;国有企业如何实现降本增效&#xff1f; 随着市场环境的不断变化和上级市场化政策要求的不断推进&#xff0c;部分国有企业面临着双重压力&#xff0c;一方面&#xff0c;市场的快速变革要求企业不断创新、提升竞争力&#xff1b;另一方面&#xff…

引入 axios,根据 api 文档生成调用接口

起步 | Axios Docs 安装 axios npm install axios 生成 api 调用接口【可选】 https://github.com/ferdikoomen/openapi-typescript-codegen 安装 npm install openapi-typescript-codegen --save-dev 然后执行生成代码 # http://localhost:8805/api/user/v3/api-docs&a…

ElasticSearch的Python Client测试

一、Python环境准备 1、下载Python安装包并安装 https://www.python.org/ftp/python/3.13.0/python-3.13.0-amd64.exe 2、安装 SDK 参考ES官方文档: https://www.elastic.co/guide/en/elasticsearch/client/index.html python -m pip install elasticsearch一、Client 代…

在双显示器环境中利用Sunshine与Moonlight实现游戏串流的同时与电脑其他任务互不干扰

我和老婆经常会同时需要操作家里的电脑&#xff0c;在周末老婆有时要用电脑加班上网办公&#xff0c;而我想在难得的周末好好地Game一下&#xff08;在客厅用电视机或者平板串流&#xff09;&#xff0c;但是电脑只有一个&#xff0c;以往我一直都是把电脑让给老婆&#xff0c;…

【第六节】windows汇编开发工具-RadAsm与Masm

一、介绍RadAsm和Masm相关概念 1.1 什么是Win32Asm&#xff1f; Win32Asm是一种基于32位汇编语言的编程语言&#xff0c;专门用于在Windows操作系统下进行开发。Win32Asm的全称是“Windows下的32位汇编语言编程”&#xff0c;它使用微软的MASM&#xff08;Microsoft Macro Ass…

EHOME视频平台EasyCVR视频融合平台支持哪些摄像机接入?监控摄像头镜头的种类有哪些?

在现代安防监控领域&#xff0c;视频融合平台扮演着至关重要的角色&#xff0c;它们不仅能够整合不同品牌和型号的摄像机&#xff0c;还能提供稳定可靠的视频流传输和高效的视频管理功能。EasyCVR视频融合平台以其卓越的兼容性和灵活性&#xff0c;逐渐成为构建复杂监控网络的首…

从pg_depend和pg_class开始了解MogDB/openGauss/postgresql的系统元数据设计

前言 学习任何一种数据库&#xff0c;必须要了解它的数据字典&#xff0c;这样有利于了解数据库的结构、解读部分日志、定位一些问题。PG/OG系数据库的系统元数据遵从一个统一的设计规则&#xff0c;可以让初学者快速入门。本文以MogDB为例&#xff0c;剖析一下PG/OG系数据库的…

[译] APT分析报告:13.Trellix对Iran网络空间能力评估

这是作者新开的一个专栏&#xff0c;主要翻译国外知名安全厂商的技术报告和安全技术&#xff0c;了解它们的前沿技术&#xff0c;学习它们威胁溯源和恶意代码分析的方法&#xff0c;希望对您有所帮助。当然&#xff0c;由于作者英语有限&#xff0c;会借助LLM进行校验和润色&am…

vue2,vue3,uniapp,小程序实现前端url生成二维码

最近遇到一个项目&#xff0c;api返回url地址&#xff0c;前端通过地址生成二维码。 话不多说直接上代码&#xff0c;亲测有效&#xff0c;希望能帮助大家&#xff0c;同时如果有更好的方法希望大家能够分享 1、第一步&#xff0c;在项目的utils文件夹下面创建一个weapp-qrco…

Python的函数(补充浅拷贝和深拷贝)

一、定义 函数的定义&#xff1a;实现【特定功能】的代码块。 形参&#xff1a;函数定义时的参数&#xff0c;没有实际意义 实参&#xff1a;函数调用/使用时的参数&#xff0c;有实际意义 函数的作用&#xff1a; 简化代码提高代码重用性便于维护和修改提高代码的可扩展性…

FPGA学习笔记#4 Vitis HLS 入门的第一个工程

本笔记使用的Vitis HLS版本为2022.2&#xff0c;在windows11下运行&#xff0c;仿真part为xcku15p_CIV-ffva1156-2LV-e&#xff0c;这一篇终于没有再大量使用别人的内容&#xff0c;是我自己从头捋到尾的结果&#xff0c;不过之后的笔记还是要参照别人的教程就是了。 学习笔记&…

Linux中给普通账户一次性提权

我在以前文章中Linux常见指令大全&#xff08;必要知识点&#xff09;-CSDN博客 写过sudo的概念与用法。其实本质就是提权用的但是在某些场景下就算提权了也不能使用。 例如&#xff1a;打开主工作目录 他不相信你这个用户&#xff0c;虽然你是erman 解决方法 使用root账号打开…

A027-基于Spring Boot的农事管理系统

&#x1f64a;作者简介&#xff1a;在校研究生&#xff0c;拥有计算机专业的研究生开发团队&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取&#xff0c;记得注明来意哦~&#x1f339; 赠送计算机毕业设计600…

linux命令详解,存储管理相关

存储管理 一、内存使用量&#xff0c;free free 命令是一个用于显示系统中物理内存&#xff08;RAM&#xff09;和交换空间&#xff08;swap&#xff09;使用情况的工具 free -m free -m -s 5参数 -b 功能: 以字节&#xff08;bytes&#xff09;为单位显示内存使用情况。说…