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.
>

Reply via email to