星火冷录机

Spark Kryo Registrator

我在 spark 2.1 中使用 kryo 作为序列化器我已经根据需要设置了注册但是我遇到了一个问题,我无法注册这个 class:

org.apache.spark.sql.execution.datasources.PartitioningAwareFileIndex$SerializableFileStatus$SerializableBlockLocation[]

我试过 classOf[Array[Class.forName("org.apache.spark.sql.execution.datasources.PartitioningAwareFileIndex$SerializableFileStatus$SerializableBlockLocation").type]] 和其他组合,但我没有成功注册这个 class。

我也试过创建一个 java class 像注册和注册 class 作为 org.apache.spark.sql.execution.datasources.PartitioningAwareFileIndex$SerializableFileStatus$SerializableBlockLocation[].class;

感谢任何线索,谢谢。

我的问题解决了,我用过:

kryo.register(类标签(Class.forName("org.apache.spark.sql.execution.datasources.PartitioningAwareFileIndex$SerializableBlockLocation")).wrap.runtimeClass)

它允许在运行时以数组形式注册 class 名称。