Utilisation de Scala 2.12 avec Spark 2.x

À l'Étincelle 2.1 docs il est mentionné que

Étincelle s'exécute sur l'île de Java 7+, Python 2.6+/3.4+ et R 3.1+. Pour la Scala de l'API, de l'Étincelle 2.1.0 utilise Scala 2.11. Vous aurez besoin d'utiliser un compatible Scala version 2.11.x).

à la Scala 2.12 la sortie des nouvelles il est également mentionné que:

Bien que Scala 2.11 et 2.12 sont pour la plupart de source compatible pour faciliter la construction, ils ne sont pas compatible binaire. Cela nous permet de continuer à améliorer le compilateur Scala et de la bibliothèque standard.

Mais quand je créer un uber pot (à l'aide de la Scala 2.12) et l'exécuter sur la Spark 2.1. tous les choses fonctionnent tout aussi bien.

et je sais que ce n'est pas une source officielle, mais à la 47 degré blog, ils ont mentionné que l'Étincelle 2.1 prend en charge la Scala 2.12.

Comment peut-on expliquer ces conflits?) des morceaux de l'information ?

Il y a une différence formelle c'est à dire "nous soutenons cette version, nous l'avons testé, et si vous avez des questions, alors c'est un bug de notre côté" au lieu de "faire les choses à votre manière, d'expérimenter, si vous le souhaitez, mais si vous avez des questions alors ne revenez pas pleurnicher".
oui mais comment cela peut-il fonctionner si scala 2.11 le binaire n'est pas compatible avec 2.12?
Pas compatible signifie qu'il y a au moins 1 problème. Pourrait être OK pour 99,99% des appels d'API. Combien avez-vous de tester votre propre Uber-POT? Peut-être que 15%?

OriginalL'auteur NetanelRabinowitz | 2017-03-19