¿Qué idioma en los campos de internet, manejo de datos de gran tamaño o servicios en la nube se utilizará ampliamente en el futuro?

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.

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.

En términos de la aplicación web Node.js va a rockear en el futuro para saber por qué? Vaya a este sitio web en tiempo real con Node.js y tenga la comprensión básica del lenguaje y más adelante ” SKY NO TIENE NINGÚN LÍMITE

Creo que la mayor diferencia es la forma en que se almacenan los datos, Google utiliza la tabla grande y la función de reducción de mapas para encontrar el sentido en los datos dispares. SQL no está muerto, pero jugará un papel cada vez más pequeño a medida que los datos se muevan desde el almacenamiento central a los modelos distribuidos. Actualmente utilizo Android, motor de aplicaciones con python, mapreduce que encaja en mi versión del futuro del software y el almacenamiento de datos.

Python y Node .js tienen que estar allí en lo que se refiere a internet.
Cada día escucho a más personas hablando de Scala. Así que será una gran cosa en el futuro.
Para el manejo de datos grandes nomino a python, GNU R.

¡Y si digo ambas cosas! Realmente creo que ambos tienen un camino interesante por delante. El análisis de big data va a ser importante en varias formas nuevas, desde servicios al consumidor hasta medicina y astrofísica, y otras cosas. Puede ver claramente un auge en el mercado de big data / análisis.

La nube ha existido por un tiempo y se está expandiendo cada vez más. Ahora, Cloud tiene una relación directa y simbiótica con el acceso / disponibilidad de Internet. Cuanto más generalizado y accesible es Internet, más el alcance de la nube. Esto es más cierto para los servicios en la nube para el consumidor, desde sus servicios de correo electrónico típicos hasta las redes sociales y todas las diferentes aplicaciones web / móviles que utilizamos. Hay otro segmento que está explotando a partir de la bendición de la nube; Y ese es el segmento empresarial. Las empresas dependen en gran medida de la nube y la tendencia solo va a crecer.

Podríamos imaginarnos un día en que las personas ya no calificarían una computadora portátil con el almacenamiento que tiene. Los Chromebooks ya son un paso en esta dirección. Pero esa realidad está un poco lejos. Larga historia corta: Big Data y la nube son apuestas a largo plazo que se volverían cada vez más relevantes con cada día que pasa.

La ubicación de un gran conjunto de datos dentro del subconjunto en particular que nos preocupa se ha abordado muy bien en la publicación de Aniket Alshi. Al igual que los otros que han publicado aquí, tengo que aceptar que Node.js también está recibiendo mucho cariño de mis desarrolladores.

Yendo un paso más allá, una vez que tengamos nuestros datos, ahora tenemos que darle sentido. Para el lado de la aplicación de Cloud Data, también agregaría lenguajes estadísticos a esa lista, como R Programming o híbridos de idioma / entorno, como MATLAB.