I don't think anyone's tested it or tried it, but if it's pretty compatible
with 2.13, it may already work, or mostly.

See my answer below, which still stands: if it's not pretty compatible with
2.13 and needs a new build, this effectively means dropping 2.12 support,
as supporting 3 Scala versions is a bit too much at once.
And the downstream library dependencies are still likely a partial problem.

Have you or anyone interested in this tried it out? that's the best way to
make progress.
I do not think this would go into any Spark release on the horizon.

On Fri, Dec 3, 2021 at 12:04 PM Igor Dvorzhak <i...@google.com> wrote:

> Are there any plans to support Scala 3 in the upcoming Spark 3.3 release?
>
> On Sun, Oct 18, 2020 at 11:10 PM Dongjoon Hyun <dongjoon.h...@gmail.com>
> wrote:
>
>> Hi, Koert.
>>
>> We know, welcome, and believe it. However, it's only Scala community's
>> roadmap so far. It doesn't mean Apache Spark supports Scala 3 officially.
>>
>> For example, Apache Spark 3.0.1 supports Scala 2.12.10 but not 2.12.12
>> due to Scala issue.
>>
>> In Apache Spark community, we had better focus on 2.13. After that, we
>> will see what is needed for Scala 3.
>>
>> Bests,
>> Dongjoon.
>>
>> On Sun, Oct 18, 2020 at 1:33 PM Koert Kuipers <ko...@tresata.com> wrote:
>>
>>> i think scala 3.0 will be able to use libraries built with Scala 2.13
>>> (as long as they dont use macros)
>>>
>>> see:
>>> https://www.scala-lang.org/2019/12/18/road-to-scala-3.html
>>>
>>> On Sun, Oct 18, 2020 at 9:54 AM Sean Owen <sro...@apache.org> wrote:
>>>
>>>> Spark depends on a number of Scala libraries, so needs them all to
>>>> support version X before Spark can. This only happened for 2.13 about 4-5
>>>> months ago. I wonder if even a fraction of the necessary libraries have 3.0
>>>> support yet?
>>>>
>>>> It can be difficult to test and support multiple Scala versions
>>>> simultaneously. 2.11 has already been dropped and 2.13 is coming, but it
>>>> might be hard to have a code base that works for 2.12, 2.13, and 3.0.
>>>>
>>>> So one dependency could be, when can 2.12 be dropped? And with Spark
>>>> supporting 2.13 only early next year, and user apps migrating over a year
>>>> or more, it seems difficult to do that anytime soon.
>>>>
>>>> I think Spark 3 support is eventually desirable, so maybe the other way
>>>> to resolve that is to show that Spark 3 support doesn't interfere much with
>>>> maintenance of 2.12/2.13 support. I am a little bit skeptical of it, just
>>>> because the 2.11->2.12 and 2.12->2.13 changes were fairly significant, let
>>>> alone 2.13->3.0 I'm sure, but I don't know.
>>>>
>>>> That is, if we start to have to implement workarounds are parallel code
>>>> trees and so on for 3.0 support, and if it can't be completed for a while
>>>> to come because of downstream dependencies, then it may not be worth
>>>> iterating in the code base yet or even considering.
>>>>
>>>> You can file an umbrella JIRA to track it, yes, with a possible target
>>>> of Spark 4.0. Non-intrusive changes can go in anytime. We may not want to
>>>> get into major ones until later.
>>>>
>>>> On Sat, Oct 17, 2020 at 8:49 PM gemelen <geme...@gmail.com> wrote:
>>>>
>>>>> Hi all!
>>>>>
>>>>> I'd like to ask for an opinion and discuss the next thing:
>>>>> at this moment in general Spark could be built with Scala 2.11 and
>>>>> 2.12 (mostly), and close to the point to have support for Scala 2.13. On
>>>>> the other hand, Scala 3 is going into the pre-release phase (with 3.0.0-M1
>>>>> released at the beginning of October).
>>>>>
>>>>> Previously, support of the current Scala version by Spark was a bit
>>>>> behind of desired state, dictated by all circumstances. To move things
>>>>> differently with Scala 3 I'd like to contribute my efforts (and help 
>>>>> others
>>>>> if there would be any) to support it starting as soon as possible (ie to
>>>>> have Spark build compiled with Scala 3 and to have release artifacts when
>>>>> it would be possible).
>>>>>
>>>>> I suggest that it would require to add an experimental profile to the
>>>>> build file so further changes to compile, test and run other tasks could 
>>>>> be
>>>>> done in incremental manner (with respect to compatibility with current 
>>>>> code
>>>>> for versions 2.12 and 2.13 and backporting where possible). I'd like to do
>>>>> it that way since I do not represent any company, contribute in my own 
>>>>> time
>>>>> and thus cannot guarantee consistent time spent on this (so just in case 
>>>>> of
>>>>> anything such contribution would not be left in the fork repo).
>>>>>
>>>>> In fact, with recent changes to move Spark build to use the latest
>>>>> SBT, such starting changes are pretty small on the SBT side (about 10 LOC)
>>>>> and I was already able to see how build fails with Scala 3 compiler :)
>>>>>
>>>>> To summarize:
>>>>> 1. Is this approach suitable for the project at this moment, so it
>>>>> would be accepted and accounted for in the release schedule (in 2021 I
>>>>> assume)?
>>>>> 2. how should it be filed, as an umbrella Jira ticket with minor tasks
>>>>> or as a SPIP at first with more thorough analysis?
>>>>>
>>>>

Reply via email to