As Scala book says Value types are mapped/transformed to java primitive types. So when you use Integer for example it will compile to int. So Integer is a syntactic sugar and makes it more readable in Scala code than plain int and plus Scala adds extra perks through implicits etc. I think the same goes for this BigDecimal case. So I personally would go with Scala types and compiler should do the rest for you.
Cheers, Khalid Mammadov > On 18 Feb 2021, at 09:39, Ivan Petrov <capacyt...@gmail.com> wrote: > > > I'm fine with both. So does it make sense to use java.math.BigDecimal > everywhere to avoid perf penalty for value conversion? > scala BigMath looks like a wrapper around java.math.BigDecimal though... > > чт, 18 февр. 2021 г. в 00:33, Takeshi Yamamuro <linguin....@gmail.com>: >> Yea, I think that's because it's needed for interoperability between >> scala/java. >> If it returns a scala decimal, java code cannot handle it. >> >> If you want a scala decimal, you need to convert it by yourself. >> >> Bests, >> Takeshi >> >>> On Wed, Feb 17, 2021 at 9:48 PM Ivan Petrov <capacyt...@gmail.com> wrote: >>> Hi, I'm using Spark Scala Dataset API to write spark sql jobs. >>> I've noticed that Spark dataset accepts scala BigDecimal as the value but >>> it always returns java.math.BigDecimal when you read it back. >>> >>> Is it by design? >>> Should I use java.math.BigDecimal everywhere instead? >>> Is there any performance penalty for using scala BigDecimal? it's more >>> convenient from an API point of view than java.math.BigDecimal. >> >> >> -- >> --- >> Takeshi Yamamuro