使用spark计算elasticsearch中的数据是时间时,报如下错误:

说明:涉及到时间的数据,在读写数据时出现时区问题,导致该问题的原因时spark在读数据时会解析时间,但是1989年的时区夏令和冬令有冲突,导致无法正常解析
解决方法:在使用spark读取elasticsearch中的数据时,将时间字段安装字符串读取,而不是以时间的方式进行读取,所以在读取数据时将'es.mapping.date.rich'关闭
spark.read.format('es')
.option('es.nodes',esmeta.esNodes)
.option('es.resource',esmeta.esIndex)
.option('es.read.field.include',esmeta.selectFields)
.option('es.mapping.date.rich','false')
.load()
在使用Spark计算Elasticsearch中的时间数据时遇到时区问题,由于1989年时区夏令时和冬令时的冲突导致解析错误。解决办法是在读取数据时,不将时间字段作为日期类型处理,而是将其作为字符串类型读取,通过关闭'es.mapping.date.rich'选项来避免时区解析问题。
4259

被折叠的 条评论
为什么被折叠?



