¿Qué idioma es bueno para aprender Apache Spark, Scala o Python?

Estoy citando directamente de mi otra respuesta aquí: la respuesta de Swaroop a ¿De dónde empiezo a aprender chispear? ¿Debo hacerlo con python o scala?

Realmente no importa dónde comiences o con qué comiences. Si ya estás familiarizado con Python o Scala, hazlo. Aprende a escribir programas Spark en ese idioma.

Si no conocieras tanto a Scala como a Python, te recomendaría aprender Scala. Debido a que Spark está escrito en Spark, es posible que obtengas un aumento de rendimiento debido a eso y Scala es casi más rápido que Python.

Pero como, ya conoces Python y te sientes cómodo con eso, quédate con eso. Pero, tenga en cuenta que, aunque Python es fácil de usar, pero no mucha gente lo utiliza para crear aplicaciones y productos empresariales que lo utilizan. Entonces, es probable que tengas que volver a Scala o incluso a Java.

Para obtener más información sobre Python Vs Scala, mire mi respuesta aquí: la respuesta de Swaroop a ¿Qué lenguaje de programación es bueno para manejar Hadoop y Spark: Java, Python o Scala?

Cualquiera que sea el idioma que hayas elegido, es hora de empezar a aprender Spark.

Si has decidido hacer un esfuerzo adicional al aprender Scala, estas respuestas te mostrarán el camino para Spark + Scala

La respuesta de Swaroop a ¿Qué libro es bueno para aprender Spark y Scala para principiantes?

La respuesta de Swaroop a ¿Es necesario aprender Scala para aprender Spark?

La respuesta de Swaroop a ¿Cuáles son los buenos libros o sitios web para aprender Apache Spark y Scala?

Y, si te quedas con Python, no tengo ninguna respuesta para mostrar el camino de aprendizaje para eso, ya que realmente no he usado Python para Spark. Pero, todavía sigue las respuestas dadas arriba. Puede que encuentres algo útil. Además, lea esto: la respuesta de Swaroop a ¿Cómo puedo aprender Apache Spark?

Y, las respuestas pueden tener un contenido repetido, ya que hay temas similares. Entonces, ignora eso. Y buena suerte con tu viaje.

Nunca te cases con un idioma !!

para un programador, el lenguaje no debe ser una barrera, ya que de un idioma a otro, solo la sintaxis cambia.

Ahora, respondiendo a la pregunta, yo también estaba en la misma confusión que tú y yo conocíamos de python.

Aunque la chispa admite (java, scala, python, R, SQL) 5 formas de trabajar, lo mejor que se puede hacer es aprender los principios y conceptos de la chispa primero. Comienza a trabajar con python usando pyspark como ya sabes python. Para sentirse más cómodo, comience a usar ipython en lugar de python para hacer que su curva de aprendizaje crezca más rápido.

Una vez que se sienta cómodo trabajando con spark y python, es el momento de cambiar a Scala. Migrar a Scala es más fácil ya que hay muchas hojas de trucos (Python To Scala – GitBook) para una transición más rápida.

En etapas posteriores, como otros sugirieron, también te sugeriría que uses scala porque la chispa está escrita en scala. Desde mi experiencia citaría dos ejemplos donde la transición es necesaria.

1) Escribiendo nuevas fuentes de datos

2) trabajando con filestreams

Si desea tomar el control del código fuente y personalizar las funciones de chispa, Scala es bueno. O si solo quieres usar chispa a alto nivel, ve con python.

Solo empieza a trabajar 🙂

No importa realmente qué idioma (Java, Scala, Python, R) utiliza, ya que spark proporciona API para todos los idiomas mencionados anteriormente. En lo que se refiere al rendimiento con RDD, el rendimiento de scala supera a python’s, pero con los marcos de datos se obtiene el mismo rendimiento (debido al optimizador de catalizador).

Si me preguntas, elegiré Scala sobre Python, ya que la mayor parte del código de Spark está escrito en Scala. Y si planea contribuir con chispa, Scala es una necesidad.

Python, siempre Python, quieres saber por qué,
Porque Python es genial. Usted puede hacer casi todo lo que hay en él, desde el front-end hasta el back-end, desde el lado del servidor al lado del cliente, y es muy fácil de aprender e implementar. Tiene mucho alcance y confía en mí, nunca lamentarías tu decisión de elegir a Python como Mayor. Te encantaría y tu amor solo aumentará con el tiempo.

Si Python fuera una niña, me habría casado con ella.

Apache Spark consta de un motor de procesamiento fundamental llamado Spark Core y esto se acompaña con el conjunto de bibliotecas Spark. El motor de procesamiento distribuido de Spark está escrito en cualquiera de los lenguajes como Scala, Java o Python. Existen múltiples API para explorar el desarrollo de aplicaciones ETL distribuidas. Las múltiples bibliotecas escritas sobre Spark Core permiten realizar aplicaciones variadas como el análisis de datos SQL, la implementación de aprendizaje automático y el procesamiento de cargas de trabajo de transmisión por secuencias.

Hola yo

Creo que la mejor certificación de chispa y scala

Ya tengo la certificación de este instituto.

Te adelantaré mejor para elegir Entrenamiento de Certificación

Si una persona ya tiene conocimiento de Python, es posible que estén muy inclinados a aprender Apache Spark en Python, ya que Spark también funciona en Python. Pero Scala ofrece diversidad y, además, Spark en sí está escrito en Scala. Yo iría con Scala. Al final del día, el lenguaje de programación no debe ser una barrera.

Diría que te acostumbras a Python y, finalmente, después de aprender los conceptos, pasa a Scala.

Creo que aprender Scala te hará un mejor programador (incluso en otros lenguajes de programación), especialmente si todavía no conoces ningún lenguaje de programación funcional.

Pero eso es solo mis 2 centavos.

Apache Spark está escrito en Scala, sin embargo, tiene una buena API de Python que está casi actualizada con Scala. No tendrá problemas para aprender a usar Spark usando Python, y las herramientas como Python Notebook ofrecen excelentes entornos para jugar.

Dicho esto, Spark está escrito en Scala, por lo que para comprenderlo de verdad, tendrías que aprender Scala o al menos la JVM. La versión de Python tampoco está exenta de errores (se solucionan, pero aún tienen más problemas que la versión de Scala) y no está completamente actualizada con la versión de Scala. También hay un poco de éxito en el rendimiento en la versión de Python debido a la forma en que serializa los datos para pasarlos a Spark.

Así que si puedes aprender Scala, sin embargo, está lejos de ser un requisito.