Soy un novato en el campo de las tecnologías de big data y el análisis de datos a gran escala. Asumo que el contexto de hacer esta pregunta es saber qué idiomas aprender, para que uno esté mejor preparado para los desafíos en este campo.
Cuando hablamos de datos a gran escala, Hadoop es el nombre que se ha convertido en sinónimo de big data. Viene con su propio HDFS y mapreduce le permite filtrar y agregar una gran cantidad de datos de HDFS. Ahora puede usar Java simple para escribir programas mapreduce, pero hay lenguajes más eficientes para el procesamiento y análisis de consultas a gran escala.
Pig se ejecuta sobre hadoop y se usa con frecuencia para el procesamiento de datos grandes y las operaciones ETL (extracción-transformación-carga). El lenguaje utilizado es Pig Latin, que es eficaz para especificar flujos de datos complejos. Hive se utiliza para el análisis de datos estructurados y se utiliza con mayor frecuencia en Facebook. Es similar a SQL. Python tiene una gran cantidad de bibliotecas y herramientas para el análisis de big data, como Pandas , la biblioteca de análisis de datos de python.
Para la programación de servicios en la nube también hay una gran cantidad de lenguajes que puedes aprender, como Ruby, Perl, Cocoa, smalltalk, OCaml, etc.
- ¿Cuál es el futuro del podcasting?
- Si alguna vez se hace tecnológicamente posible crear seres humanos sin emociones, sentimientos o un sentido de sí mismo, ¿sería ético hacerlos esclavos? ¿Cómo no es esto el equivalente a usar un servidor de robots altamente inteligente?
- ¿Cuál es el horizonte temporal en el que podríamos esperar que Bitcoin se convierta en un medio de pago ampliamente aceptado?
- ¿Amazon Prime Air merece todo ese esfuerzo en I + D?
- ¿Cuál es el beneficio de la singularidad para el hombre?
Al final del día, el lenguaje es solo el medio para un fin. Si la pregunta se formula en el contexto de aprender más sobre los desafíos de big data y las formas de resolverlo, entonces creo firmemente que el enfoque debería estar más en el aprendizaje de las tecnologías y la arquitectura, el almacenamiento en caché y las estructuras de datos inteligentes que se utilizan en estos sistemas. Algunos de los cuales son:
1. Hadoop Yarn : introducido en hadoop 2.0 como marco de procesamiento general más allá de mapreduce.
2. Tez : un marco de aplicación utilizado para definir el flujo complejo de tareas.
Bases de datos como HBase, cassandra, mongo DB .
3. Presto : motor de consulta de SQL distribuido hecho por facebook para consultar datos de cualquier db.
4. Imapala – Motor de consulta Sql para procesamiento masivo en paralelo.
5. Apache Oozie : es un motor de flujo de trabajo basado en servidor especializado en la ejecución de trabajos de flujo de trabajo con acciones que ejecutan Hadoop Map / Reduce.
6. Apache Sqoop : es una herramienta diseñada para transferir datos masivos entre Apache Hadoop y almacenes de datos estructurados, como bases de datos relacionales o almacenes de datos.
7. Spark – Marco de análisis de datos y computación en clúster sobre HDFS.
8. Openstack : sistema operativo en la nube para controlar grandes conjuntos de infraestructura de computación, almacenamiento y redes.
Siéntase libre de agregar las que considere relevantes.
Edición: Sobre las sugerencias de Brett Reifers:
9. Node.js : es una plataforma web para aplicaciones de big data vendibles. Está escrito en Javascript y utiliza E / S no bloqueados controlados por eventos, lo cual es adecuado para aplicaciones distribuidas de uso intensivo de datos. Utiliza el motor V8 de Google y puede manejar múltiples conexiones de servidor, lo que lo hace ideal para aplicaciones de servidor alojadas en la nube. Su sitio enumera algunas de las principales compañías que lo utilizan: http://nodejs.org/industry/ Esta definitivamente va en un grupo de idiomas para aprender.
10. Django: es un marco de aplicación web que es básicamente muy útil para crear servicios web complejos basados en bases de datos. Según wikipedia @Django (marco web), Django es utilizado por sitios web como Pinterest, Instagram, Washington times, mozilla.