Capítulo 7. Más allá de Scala
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
Trabajar en Spark no significa limitarse a Scala, ni siquiera limitarse a la JVM, ni a los lenguajes que Spark admite explícitamente.Spark tiene API de primera parte para escribir programas de controlador y código de trabajador en R,1 Python, Scala y Java con enlaces de terceros2 para otros lenguajes, como JavaScript, Julia, C# y F#. La interoperabilidad de lenguajes de Spark puede concebirse en dos niveles: uno es el código del trabajador dentro de tus transformaciones (p. ej., las lambdas dentro de tus mapas) y el segundo es poder especificar las transformaciones en RDDs/Datasets (p. ej., el programa controlador). En este capítulo se tratarán las consideraciones de rendimiento del uso de otros lenguajes en Spark, y cómo trabajar eficazmente con las bibliotecas existentes.
A menudo, el lenguaje que elegirás para especificar el código dentro de tus transformaciones será el mismo que el lenguaje para escribir el programa del controlador,pero cuando se trabaja con bibliotecas o herramientas especializadas (como CUDA3) especificar todo nuestro programa en un solo lenguaje sería un engorro, aunque fuera posible. Spark admite una serie de lenguajes para su uso en el controlador, y se puede utilizar una gama aún más amplia de lenguajes dentro de nuestras transformaciones en los trabajadores. Aunque las API son similares entre los lenguajes, ...