It is okay. this methodology works very well for mapping objects of my Seq[Any].
It is indeed very cool :-) Saif From: Ted Yu [mailto:yuzhih...@gmail.com] Sent: Wednesday, August 19, 2015 10:47 AM To: Ellafi, Saif A. Cc: <sujitatgt...@gmail.com>; <wrbri...@gmail.com>; <user@spark.apache.org> Subject: Re: Scala: How to match a java object???? Saif: In your example below, the error was due to there is no automatic conversion from Int to BigDecimal. Cheers On Aug 19, 2015, at 6:40 AM, <saif.a.ell...@wellsfargo.com<mailto:saif.a.ell...@wellsfargo.com>> <saif.a.ell...@wellsfargo.com<mailto:saif.a.ell...@wellsfargo.com>> wrote: Hi, thank you all for the asssistance. It is odd, it works when creating a new java.mathBigDecimal object, but not if I work directly with scala> 5 match { case x: java.math.BigDecimal => 2 } <console>:23: error: scrutinee is incompatible with pattern type; found : java.math.BigDecimal required: Int 5 match { case x: java.math.BigDecimal => 2 } I will try and see how it works for my Seq[Any] and see. Thanks for the work arounds. Saif From: Sujit Pal [mailto:sujitatgt...@gmail.com] Sent: Tuesday, August 18, 2015 6:25 PM To: Ellafi, Saif A. Cc: wrbri...@gmail.com<mailto:wrbri...@gmail.com>; user Subject: Re: Scala: How to match a java object???? Hi Saif, Would this work? import scala.collection.JavaConversions._ new java.math.BigDecimal(5) match { case x: java.math.BigDecimal => x.doubleValue } It gives me on the scala console. res9: Double = 5.0 Assuming you had a stream of BigDecimals, you could just call map on it. myBigDecimals.map(_.doubleValue) to get your Seq of Doubles. You will need the JavaConversions._ import to allow Java Doubles to be treated by Scala as Scala Doubles. -sujit On Tue, Aug 18, 2015 at 12:59 PM, <saif.a.ell...@wellsfargo.com<mailto:saif.a.ell...@wellsfargo.com>> wrote: Hi, thank you for further assistance you can reproduce this by simply running 5 match { case java.math.BigDecimal => 2 } In my personal case, I am applying a map acton to a Seq[Any], so the elements inside are of type any, to which I need to apply a proper .asInstanceOf[WhoYouShouldBe]. Saif From: William Briggs [mailto:wrbri...@gmail.com<mailto:wrbri...@gmail.com>] Sent: Tuesday, August 18, 2015 4:46 PM To: Ellafi, Saif A.; user@spark.apache.org<mailto:user@spark.apache.org> Subject: Re: Scala: How to match a java object???? Could you share your pattern matching expression that is failing? On Tue, Aug 18, 2015, 3:38 PM <saif.a.ell...@wellsfargo.com<mailto:saif.a.ell...@wellsfargo.com>> wrote: Hi all, I am trying to run a spark job, in which I receive java.math.BigDecimal objects, instead of the scala equivalents, and I am trying to convert them into Doubles. If I try to match-case this object class, I get: “error: object java.math.BigDecimal is not a value” How could I get around matching java objects? I would like to avoid a multiple try-catch on ClassCastExceptions for all my checks. Thank you, Saif