You can use "_", e.g., sparkConf.registerKryoClasses(Array(classOf[scala.Tuple3[_, _, _]]))
Best Regards, Shixiong(Ryan) Zhu Software Engineer Databricks Inc. shixi...@databricks.com databricks.com <http://databricks.com/> On Wed, Dec 30, 2015 at 10:16 AM, Russ <russ.br...@yahoo.com.invalid> wrote: > I need to register with KryoSerializer a Tuple3 that is generated by a > call to the sortBy() method that eventually calls collect() from > Partitioner.RangePartitioner.sketch(). > > The IntelliJ Idea debugger indicates that the for the Tuple3 are > java.lang.Integer, java.lang.Integer and long[]. So, the question is, how > should I specify the long[] type? > > I have tried the following from my Scala code: > > sparkConf.registerKryoClasses(Array(classOf[scala.Tuple3[java.lang.Integer, > java.lang.Integer, Array[java.lang.Long]]])) > > However, that approach throws the following exception which indicates that > I have failed to register the Tuple3 correctly: > > java.lang.IllegalArgumentException: Class is not registered: scala.Tuple3[] > > Can anyone suggest the correct way to register this Tuple3? I suppose > that I could create register the tuple from a Java method but it would be > nice to avoid having to introduce any Java into my code. > > Thanks. >