Estoy realmente interesado en el análisis de datos grandes y las ideas. Tengo 3 años de experiencia en desarrollo front-end. ¿Cuál sería el camino correcto para ensuciarme las manos con Big Data?

Bueno, dado que tiene cierta experiencia en el front-end, puede comenzar a acercarse a los grandes datos y la ciencia de datos (en general) trabajando en la visualización y los paneles .

Visualización

Puede trabajar en representaciones geográficas y gráficos . Explorar datos visualmente es una tarea importante cuando se trabaja con big data. Elegir y mostrar los datos interesantes de manera significativa es un arte que te acercará al mundo de los grandes datos. Como conoces el backbone, supongo que tienes algún conocimiento de JavaScript. Por lo tanto, puede intentar trabajar con el folleto (para la representación geográfica) y d3 (para los gráficos).

Tableros

Este es un gran tema en este momento para la ciencia de datos. Una gran parte del trabajo de un científico de datos y un experto en big data es recopilar diferentes flujos de datos y tenerlos disponibles en algún lugar. Si puede trabajar en un tablero que proporcione diferentes métricas sobre las secuencias de datos, sería genial. Por supuesto, el tablero podría ser de uso interno y también para clientes si está diseñando una solución SaaS. La red troncal podría ser un excelente punto de partida para construir paneles interactivos. Para moverte más rápido, puedes probar Angular o Ember. Estas herramientas interactúan bien con el folleto y d3.

próximo

Como conoce algunos JavaScript , puede trabajar en MongoDB, que es una solución de almacenamiento NoSQL.

Además, tiene algunos conocimientos de Scala , puede probar Spark, que es una herramienta de procesamiento a gran escala.

Finalmente, en este punto, será fácil comenzar a aprender Python y algunos de los paquetes de manipulación de datos, como los pandas .

Por supuesto, estos son solo ejemplos iniciales. Una vez que se sienta lo suficientemente seguro, pruebe tantas tecnologías, herramientas y pilas prometedoras como pueda.

En general

¡No elimine sus conocimientos previos de desarrollo front-end! En cambio, trabaje gradualmente hacia big data participando en proyectos de visualización y panel de control. Luego, aprenda algunas herramientas de almacenamiento y procesamiento. Finalmente, aprenda un lenguaje que le permitirá explorar datos (Python es una gran opción). Luego puede concentrarse en un tema y tener un amplio conocimiento del ecosistema de Big Data al mismo tiempo.

¡Buena suerte!

Para ir más lejos, puede leer la respuesta de Yassine Alouini a ¿Cuáles son los mejores lenguajes de programación para aprender en 2014? para tener una mejor idea sobre las herramientas que he mencionado.


Fuentes

Visualización:

  • D3.js: D3.js – Documentos basados ​​en datos
  • Leaflet.js: Leaflet: una biblioteca JavaScript de código abierto para mapas interactivos

Paneles de control:

  • Angular: marco MVW de JavaScript superheroico
  • Ember: un marco para crear aplicaciones web ambiciosas.

Próximo:

  • Almacenamiento: MongoDB
  • Procesamiento: Apache Spark ™ – Computación en clúster ultrarrápida  
  • Exploración de datos: Python Data Analysis Library

Es difícil responder esto sin hacer más preguntas, pero lo haré.
Contestaré tu pregunta en DOS partes.

1)
Una posible respuesta a su pregunta es quizás la administración de bases de datos y big data, como trabajar con bases de datos NOQL como mongodb ( https://www.mongodb.org/ ), couchdb ( http://couchdb.apache.org/ ), o cassandra ( http://cassandra.apache.org/ ). Además, le gustaría aprender sobre Map Reduce y la primera herramienta a la que la mayoría de las personas se exponen es Hadoop (podría decirse que esto puede ir en la parte 2):
https://hadoop.apache.org/

Hadoop tiene muchos sabores, como la distribución de Cloudera, que es la que he usado un poco. Hadoop generalmente requiere programación Java, mientras que la distribución de Cloudera le permite usar Python.

2)
Si está más interesado en la ciencia de datos, la limpieza de datos y el análisis, necesitará una experiencia mucho más completa para una carrera exitosa. Aún necesitará la parte 1 para esta parte, pero primero querrá ver mis sugerencias aquí.

En el futuro … sus dos opciones principales son Python y R. Hay otros paquetes / idiomas que son populares, pero creo que estos dos son los más poderosos (basados ​​en mi conocimiento MUY limitado sobre los otros paquetes / idiomas) pero definitivamente están ganando más. popularidad.

Por lo que he leído, R parece ser un poco más poderoso para las estadísticas y las matemáticas, y es mejor para trabajar en estos campos, mientras que Python es un mejor lenguaje de programación GENERAL. Lo que hace que Python sea comparable a R para Data Science / Big Data no es Python en sí, sino una biblioteca de código abierto llamada Pandas. Python suele ser más fácil de leer y más intuitivo para escribir código. Sus funciones integradas son muy potentes y puede hacer mucho en tan pocas líneas de código. Los programadores generalmente prefieren Python, mientras que los matemáticos y estadísticos prefieren R. Dabble antes de elegir uno.

También depende de cómo quieras aprender. Hay bootcamps para Data Science como los de ensamblaje general:
https://generalassemb.ly/educati

Pero si desea aprender por su cuenta y no gastar varios miles en un campamento de aprendizaje aprendiendo Python o R (primero uno aprende y luego el otro), entonces definitivamente es posible aprender por su cuenta en línea: tanto Python como R tienen comunidades en línea muy activas en Además de que hay muchos recursos gratuitos.

Si eres bueno aprendiendo independientemente y quieres aprender Python, esta es una guía bastante buena:
http://www.analyticsvidhya.com/l

Lo he usado para repasar las habilidades de Python y familiarizarme con las herramientas de Python relacionadas con la ciencia de datos.

Si desea más de una estructura de clase y desea usar R, aquí hay un curso estructurado en línea gratuito de coursera:
https://www.coursera.org/course/

Es bastante bueno y, si bien las pruebas son fáciles, los proyectos de programación no son fáciles para el cerebro. He tomado la primera mitad de este curso varias veces (la segunda mitad siempre viene durante la semana final para mí). Sin embargo, he aprendido que prefiero Python.

Esto es todo lo que tengo que escribir, ya que es la semana final, así que perdón por cualquier gramática / puntuación / oraciones que no tengan errores de sentido que estoy seguro de que hay en abundancia. Espero que esto responda tu pregunta. Solo recuerde que si desea ir hacia Data Science, elija CUALQUIER Python o R después de jugar un poco con ambos para que pueda tener una idea de cuál prefiere. Al hablar me refiero a pasar tal vez ~ 20 horas de buen aprendizaje y codificación en estos antes de comprometerse con uno: definitivamente desea ser bueno en uno en lugar de ser mediocre en ambos.

¡Buena suerte!

PD: Esto probablemente se aplica más a la parte 1 que a la parte 2, pero este sitio es bastante popular para aprender sobre big data:
http://bigdatauniversity.com/

En esta época, los “agregadores” parecen ser lo más importante, donde tenemos agregadores como Uber para los desplazamientos y AirBnB para el alojamiento, cambiando las reglas del juego y cerrando la brecha entre la necesidad del cliente y el servicio o producto del proveedor. Un área importante donde los agregadores serían muy útiles es IoT.

Con tantos estándares y dispositivos, es imprescindible tener una plataforma común que no solo reúna a los proveedores de varias ofertas de IoT, sino que también proporcione un marco para que estos elementos individuales funcionen de forma sincronizada. Una plataforma que puede tomar datos de la red y los dispositivos conectados y publicarlos a través de una API que permite la creación y ejecución de aplicaciones, lo que le permite utilizar los datos como desee. Algo así como la plataforma RuBAN de Davra Networks, que brinda acceso a datos como nunca antes, permitiéndole la libertad creativa de diseñar su aplicación o usar técnicas de big data para obtener información única sobre los datos que producen los dispositivos conectados.
http://flarrio.com/have-you-chec