【发布时间】:2022-06-15 22:38:14
【问题描述】:
升级到Glue 3.0后处理rdd对象时出现以下错误
调用 o926.javaToPython 时出错。你可能会得到一个 由于 Spark 3.0 的升级导致不同的结果:读取日期 1582-10-15 之前或 1900-01-01T00:00:00Z 之前的时间戳 Parquet 文件可能不明确,因为文件可能由 Spark 编写 2.x 或 Hive 的旧版本,它使用不同于 Spark 3.0+ 的 Proleptic Gregorian 日历的旧混合日历。看 SPARK-31404 中的更多详细信息。你可以设置 spark.sql.legacy.parquet.datetimeRebaseModeInRead 到 'LEGACY' 到 重新设置日期时间值 w.r.t.期间的日历差异 阅读。或将 spark.sql.legacy.parquet.datetimeRebaseModeInRead 设置为 'CORRECTED' 按原样读取日期时间值。
我已经添加了doc中提到的配置
--conf spark.sql.legacy.parquet.int96RebaseModeInRead=CORRECTED --conf spark.sql.legacy.parquet.int96RebaseModeInWrite=CORRECTED --conf spark.sql.legacy.parquet.datetimeRebaseModeInRead=CORRECTED
这确实是一个阻止运行 Glue 作业的阻塞问题!
注意:我在本地使用pyspark3.1.2,对于相同的数据,它可以正常工作
【问题讨论】:
标签: pyspark aws-glue aws-glue3.0