请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

Py4JJavaError

在Spark特征处理过程中,出现该错误,示例如图。环境为Mac、Anaconda、Jupyter Notebook、python=3.8.17、pyspark=3.4.1、py4j=0.10.7。这个错误该怎么解决啊
图片描述

图片描述

正在回答 回答被采纳积分+3

1回答

Daniel 2023-09-13 14:34:13

同学你好,看错误提示是某个 bool 类型的数据无法正常解析,可以看一下原始数据有没有类型的问题,以及数据处理的时候有没有什么问题

0 回复 有任何疑惑可以回复我~
  • 提问者 weixin_慕沐0518080 #1
    老师您好,在上一步中的result_df.printSchema()打印出来的时候,没有显示有bool类型,而且当读打印每个列的值的时候都没有报错,并且后续写到文件的时候也会报错
    回复 有任何疑惑可以回复我~ 2023-09-13 14:45:27
  • Daniel 回复 提问者 weixin_慕沐0518080 #2
    在调用show 方法的时候,试试显式的传一个 vertical=true 呢?
    回复 有任何疑惑可以回复我~ 2023-09-13 15:09:23
  • 提问者 weixin_慕沐0518080 #3
    result_df.show(vertical=True)
    还是不行
    
    Py4JJavaError                             Traceback (most recent call last)
    Cell In[113], line 1
    ----> 1 result_df.show(vertical=True)
    
    File ~/anaconda3/envs/recall_service/lib/python3.8/site-packages/pyspark/sql/dataframe.py:899, in DataFrame.show(self, n, truncate, vertical)
        893     raise PySparkTypeError(
        894         error_class="NOT_BOOL",
        895         message_parameters={"arg_name": "vertical", "arg_type": type(vertical).__name__},
        896     )
        898 if isinstance(truncate, bool) and truncate:
    --> 899     print(self._jdf.showString(n, 20, vertical))
        900 else:
        901     try:
    
    
    
    
    
    Py4JJavaError: An error occurred while calling o868.showString.
    : org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 164.0 failed 1 times, most recent failure: Lost task 0.0 in stage 164.0 (TID 122) (dreamingmbp executor driver): TaskResultLost (result lost from block manager)
    Driver stacktrace:
    at org.apache.spark.scheduler.DAGScheduler.failJobAndIndependentStages(DAGScheduler.scala:2785)
    	at org.apache.spark.scheduler.DAGScheduler.$anonfun$abortStage$2(DAGScheduler.scala:2721)
    
    
    
    字数限制,部分错误提示如上
    回复 有任何疑惑可以回复我~ 2023-09-13 15:17:44

相似问题

登录后可查看更多问答,登录/注册

问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信