文档首页/
    
      
      MapReduce服务 MRS/
      
      
        
        
        开发指南(普通版_3.x)/
        
        
        Spark2x开发指南(普通模式)/
        
        
        Spark应用开发常见问题/
        
      
      Structured Streaming的cluster模式,在数据处理过程中终止ApplicationManager,应用失败
    
  
  
    
        更新时间:2024-08-05 GMT+08:00
        
          
          
        
      
      
      
      
      
      
      
      
  
      
      
      
        
Structured Streaming的cluster模式,在数据处理过程中终止ApplicationManager,应用失败
问题
Structured Streaming的cluster模式,在数据处理过程中终止ApplicationManager,执行应用时显示如下异常。
2017-05-09 20:46:02,393 | INFO  | main | 
  client token: Token { kind: YARN_CLIENT_TOKEN, service:  }
  diagnostics: User class threw exception: org.apache.spark.sql.AnalysisException: This query does not support recovering from checkpoint location. Delete hdfs://hacluster/structuredtest/checkpoint/offsets to start over.;
  ApplicationMaster host: 10.96.101.170
  ApplicationMaster RPC port: 0
  queue: default
  start time: 1494333891969
  final status: FAILED
  tracking URL: https://9-96-101-191:8090/proxy/application_1493689105146_0052/
  user: spark2x | org.apache.spark.internal.Logging$class.logInfo(Logging.scala:54)
Exception in thread "main" org.apache.spark.SparkException: Application application_1493689105146_0052 finished with failed status
 回答
原因分析:显示该异常是因为“recoverFromCheckpointLocation”的值判定为false,但却配置了checkpoint目录。
参数“recoverFromCheckpointLocation”的值为代码中“outputMode == OutputMode.Complete()”语句的判断结果(outputMode的默认输出方式为“append”)。
处理方法:编写应用时,用户可以根据具体情况修改数据的输出方式。
将输出方式修改为“complete”,“recoverFromCheckpointLocation”的值会判定为true。此时配置了checkpoint目录时就不会显示异常。
   父主题: Spark应用开发常见问题
  
  
    