@@ -147,23 +147,34 @@ class ChrononKryoRegistrator extends KryoRegistrator {
147
147
" org.apache.spark.sql.catalyst.InternalRow$$anonfun$getAccessor$8" ,
148
148
" org.apache.spark.sql.catalyst.InternalRow$$anonfun$getAccessor$5" ,
149
149
" scala.collection.immutable.ArraySeq$ofRef" ,
150
- " org.apache.spark.sql.catalyst.expressions.GenericInternalRow" ,
151
- " org.apache.spark.sql.delta.stats.DeltaFileStatistics" ,
152
- " org.apache.spark.sql.delta.actions.AddFile"
150
+ " org.apache.spark.sql.catalyst.expressions.GenericInternalRow"
153
151
)
154
- names.foreach { name =>
155
- try {
156
- kryo.register(Class .forName(name))
157
- kryo.register(Class .forName(s " [L $name; " )) // represents array of a type to jvm
158
- } catch {
159
- case _ : ClassNotFoundException => // do nothing
160
- }
161
- }
152
+ names.foreach(name => doRegister(name, kryo))
162
153
163
154
kryo.register(classOf [Array [Array [Array [AnyRef ]]]])
164
155
kryo.register(classOf [Array [Array [AnyRef ]]])
165
156
kryo.register(classOf [CpcSketch ], new CpcSketchKryoSerializer ())
166
157
kryo.register(classOf [Array [ItemSketchSerializable ]])
167
158
kryo.register(classOf [ItemsSketchIR [AnyRef ]], new ItemsSketchKryoSerializer [AnyRef ])
168
159
}
160
+
161
+ def doRegister (name : String , kryo : Kryo ): Unit = {
162
+ try {
163
+ kryo.register(Class .forName(name))
164
+ kryo.register(Class .forName(s " [L $name; " )) // represents array of a type to jvm
165
+ } catch {
166
+ case _ : ClassNotFoundException => // do nothing
167
+ }
168
+ }
169
+ }
170
+
171
+ class ChrononDeltaLakeKryoRegistrator extends ChrononKryoRegistrator {
172
+ override def registerClasses (kryo : Kryo ): Unit = {
173
+ super .registerClasses(kryo)
174
+ val additionalDeltaNames = Seq (
175
+ " org.apache.spark.sql.delta.stats.DeltaFileStatistics" ,
176
+ " org.apache.spark.sql.delta.actions.AddFile"
177
+ )
178
+ additionalDeltaNames.foreach(name => doRegister(name, kryo))
179
+ }
169
180
}
0 commit comments