我得到了:
Caused by: java.lang.NullPointerException
at org.joda.time.tz.CachedDateTimeZone.getInfo(CachedDateTimeZone.java:143)
at org.joda.time.tz.CachedDateTimeZone.getOffset(CachedDateTimeZone.java:103)
at org.joda.time.DateTimeZone.convertUTCToLocal(DateTimeZone.java:925)
at org.joda.time.chrono.ZonedChronology$ZonedDateTimeField.get(ZonedChronology.java:432)
at org.joda.time.base.AbstractDateTime.getMillisOfDay(AbstractDateTime.java:240)
我按照以下方式配置了kryo:
val sparkConfiguration = new SparkConf().setAppName("Session Logs to Parquet Job").set("spark.serializer", "org.apache.spark.serializer.KryoSerializer")
sparkConfiguration.registerKryoClasses(Array(
classOf[org.joda.time.DateTime],
classOf[org.joda.time.Interval],
classOf[org.joda.time.tz.DateTimeZoneBuilder],
classOf[org.joda.time.tz.FixedDateTimeZone],
Class.forName("org.joda.time.tz.CachedDateTimeZone$Info"),
ClassTag(Class.forName("org.joda.time.tz.CachedDateTimeZone$Info")).wrap.runtimeClass,
classOf[org.joda.time.tz.CachedDateTimeZone]
)
)
我实际上正在使用:getHourOfDay(dt) 其中dt是日期时间。目标是在spark中使用kryo序列化器。 Joda 2.9.3。
我错过了什么? 有什么想法吗?
由于