spark3.x之后时间格式数据偶发报错org.apache.spark.SparkUpgradeException

3.x之后如果你去处理2.x生成的时间字符串数据,很容易遇到一个问题

bash 复制代码
Error operating ExecuteStatement: 
org.apache.spark.SparkUpgradeException: You may get a different result due to the upgrading of Spark 3.0: Fail to parse 
'20200725__cb90fcc3_8006_46b8_8f78_781aaff2e7f3' in the new parser. 
You can set spark.sql.legacy.timeParserPolicy to LEGACY to restore the behavior before Spark 3.0, or set to CORRECTED and treat it as an invalid datetime string.

这个问题的原因是2.x时,对时间数据的格式话用的是simpledateformat类,但是这个类对数据的容错很高,导致偶尔会生成数据后缀,3.x之后不用它了,但是在处理时遇到这种数据3.x的spark就会报上面的错误,而提示中说的spark.sql.legacy.timeParserPolicy=LEGACY是一种尝试修复的措施,并不能保证百分百没问题,最优解是处理数据的时候遇到时间字符串用substr截取一下

相关推荐
睎zyl1 小时前
Spark自定义分区器-基础
大数据·分布式·spark
巨龙之路1 小时前
【TDengine源码阅读】DLL_EXPORT
大数据·时序数据库·tdengine
元6333 小时前
搭建spark-local模式
大数据·spark
巨龙之路3 小时前
TDengine编译成功后的bin目录下的文件的作用
大数据·时序数据库·tdengine
莫叫石榴姐3 小时前
大模型在数据分析领域的研究综述
大数据·数据挖掘·数据分析
百锦再3 小时前
大数据技术的主要方向及其应用详解
大数据·linux·网络·python·django·pygame
巨龙之路4 小时前
【TDengine源码阅读】#if defined(__APPLE__)
大数据·时序数据库·tdengine
巨龙之路5 小时前
【TDengine源码阅读】TAOS_DEF_ERROR_CODE(mod, code)
大数据·时序数据库·tdengine
钊兵5 小时前
hivesql是什么数据库?
大数据·hive
元6335 小时前
运行Spark程序-在shell中运行
spark