Si te refieres a la API, entonces depende.
En primer lugar, es muy probable que el rendimiento no importe, ya que casi todo es Scala bajo el capó para Spark y siempre puedes usar más máquinas para compensar cualquier otra cosa. Las curvas de aprendizaje se pueden superar y la API Scala de Spark es bastante simple. La facilidad de uso es honesta y probablemente el punto clave a considerar.
Spark está escrito en Scala, por lo que saber Scala le permitirá comprender y modificar lo que Spark hace internamente. Sin Scala una vez que llegue a la pared de lo que es posible fuera de la caja que ha terminado, ¿necesita un nuevo tipo de RDD? Demasiado. La documentación de Spark no es perfecta y, como gran parte del código abierto, el código es la documentación real. Entonces, a menos que pueda entender Scala, nunca podrá comprender realmente lo que sucede cuando ejecuta algún código.
- ¿Cómo se puede aumentar artificialmente la varianza de un conjunto de datos?
- ¿Cómo se utilizan los grandes datos para identificar a los mejores compradores potenciales?
- ¿Qué es tendencia más, programación o ciencia de datos?
- Si se le da una opción entre el aprendizaje automático y el big data como electivo, ¿cuál es el mejor para elegir teniendo en cuenta el alcance?
- ¿Qué es la 'máquina virtual de ciencia de datos' de Microsoft? ¿Alguien puede explicar el precio de una manera intuitiva?
Dicho esto, Scala carece de la misma cantidad de bibliotecas y herramientas de Data Science que Python. No hay una buena visualización, no hay buenas transformaciones de datos locales, no hay buenas herramientas locales, etc. La gente ha portado la mayoría de las partes centrales de R a Python y hay formas fáciles de llamar a R directamente desde Python . Scala / Java no ha tenido tanto esfuerzo en ese frente. Hay algunas cosas, pero no son muy completas ni cohesivas. Por ejemplo, Databricks parece basar sus ofertas de propiedad en Python en lugar de Scala (básicamente un cuaderno de IPython para Spark).
Entonces, si desea hacer un análisis simple a moderadamente complejo utilizando Spark, Python parece el camino a seguir. Si desea construir sistemas de producción, entonces Scala es el camino a seguir. Si quieres hacer cosas realmente complicadas, entonces Scala posiblemente con una capa final de Python.