Red de conocimiento informático - Material del sitio web - Aprendizaje de big data en Python o Java

Aprendizaje de big data en Python o Java

Hoy me gustaría presentarles ¿cómo elegir un lenguaje de programación para big data?

En primer lugar, por ejemplo, si tienes un proyecto de big data, conoces el dominio del problema (problemdomain), también sabes qué infraestructura usar y es posible que incluso hayas decidido qué marco usar para procesar todos estos datos, pero hay una decisión que se retrasa. No se pudo tomar:

¿Qué idioma debo elegir (O ​​quizás una pregunta más pertinente es, qué idioma debo obligar a todos mis desarrolladores y científicos de datos? ¿Para usar? Esta pregunta No se pospondrá por mucho tiempo, se decidirá tarde o temprano

Cómo elegir un lenguaje de programación para big data

Por supuesto que lo hay. Nada le impide utilizar otros mecanismos (como la transformación XSLT) para procesar big data. Pero, en términos generales, hay muchos lenguajes para elegir cuando se trata de big data, como Java, Python, R y. Scala. Entonces, ¿qué idioma debería elegir? ¿Por qué debería elegirlo? Sigamos estos dos lenguajes:

Python

. Si sus científicos de datos no usan R, probablemente conozcan Python por dentro y por fuera. Python ha existido durante más de una década. Siempre ha sido popular en el mundo académico, especialmente en campos como el procesamiento del lenguaje natural (NLP). Si tiene un proyecto que requiere procesamiento de PNL, se enfrentará a una cantidad vertiginosa de opciones, incluido el NTLK clásico y el uso del modelado de temas GenSim, o el ultrarrápido y preciso spaCy. De manera similar, cuando se trata de redes neuronales, Python también es muy bueno. capaz, con Theano y Tensorflow; seguido de scikit-learn para aprendizaje automático y NumPy y Pandas para análisis de datos. /p>

También está Juypter/iPython, un marco de servidor portátil basado en web que le permite combinar código y gráficos. y casi cualquier objeto en un formato de registro compartible. Una de las características principales de Python, pero hoy en día, este concepto ha demostrado ser tan útil que aparece en casi todos los lenguajes que siguen el concepto de bucle de lectura-lectura-salida (REPL), incluido. Scala y R.

Python a menudo es compatible con marcos de procesamiento de big data, pero al mismo tiempo, a menudo no es un "ciudadano de primera clase". Por ejemplo, las nuevas funciones en Spark casi siempre aparecen en. el enlace Scala/Java En primer lugar, es posible que necesite escribir varias versiones menores de esas versiones más nuevas en PySpark (especialmente para las herramientas de desarrollo SparkStreaming/MLLib)

Java

Eventualmente. Siempre está Java, un lenguaje que no es amado, abandonado, propiedad de una empresa a la que sólo parece importarle si gana dinero demandando a Google (nota: Oracle), y completamente pasado de moda en el mundo empresarial. ¡Los humanos y las computadoras usan Java! Sin embargo, Java puede ser una buena opción para su proyecto de big data. Piense en HadoopMapReduce, que está escrito en Java. ¿Qué pasa con HDFS? También está escrito en Java. Incluso Storm, Kafka y Spark pueden ejecutarse en JVM (usando Clojure y Scala), lo que significa que Java es un "ciudadano de primera clase" en estos proyectos. También hay nuevas tecnologías como Google Cloud Dataflow (ahora Apache Beam), que hasta hace poco sólo soportaba Java.

Puede que Java no sea el lenguaje preferido de la estrella de rock.

Pero mientras los desarrolladores luchan por desentrañar el conjunto de devoluciones de llamadas en las aplicaciones Node.js, el uso de Java le brinda acceso a un vasto ecosistema de perfiladores, depuradores, herramientas de monitoreo y bibliotecas que garantizan la seguridad y la interoperabilidad empresarial, y mucho más. Todo esto ha sido probado durante las últimas dos décadas (lamentablemente, Java cumple 21 años este año y todos somos viejos).

Una de las principales razones para atacar Java es que es muy engorroso y detallado, y carece del REPL necesario para el desarrollo interactivo (R, Python y Scala lo tienen). He visto 10 líneas de código Spark en Scala convertirse rápidamente en monstruosas 200 líneas de código escritas en Java, con declaraciones de tipo enorme que ocupaban la mayor parte de la pantalla. Sin embargo, la nueva función de soporte Lambda en Java 8 contribuye en gran medida a mejorar esta situación. Java nunca será tan compacto como Scala, pero Java 8 hace que el desarrollo en Java sea menos complicado.

¿Qué idioma debería utilizar para proyectos de big data? Me temo que depende de la situación. Si realiza procesamiento de PNL o de redes neuronales densas en GPU, Python es una excelente opción. Si desea una solución de flujo de datos reforzada y lista para producción que tenga todas las herramientas operativas importantes, Java es una excelente opción.

Curso recomendado: Vídeo explicativo completo de la gramática básica de Python (versión Marco Education 2014)