¿Cómo es trabajar con Big Data?

Esto es una simplificación excesiva, pero responderé la pregunta desde el punto de vista de un científico de datos.

Como científico de datos, realizo experiencias sobre datos. Eso podría involucrar la manipulación de datos, inventar y analizar nuevos algoritmos, aplicar algoritmos conocidos de una disciplina a otra, o hacer una “inmersión profunda” en los datos para determinar qué características interesantes podría querer extraer. Con pequeñas cantidades de datos, esto es fácil. Puede ver todos los datos a la vez y tomar decisiones.

Como un ejemplo extremadamente simple, considere la secuencia [0, 1, 1, 2, 3, 5, 8, 13]. Es fácil extraer el patrón de estos datos. Es la secuencia de Fibonacci, entonces:

F [n] = F [n-1] + F [n-2]
F [0] = 0; F [1] = 1

¿Y si tuviera una secuencia de 100 números y le pidiera que extrajera el patrón subyacente (suponiendo que no supiera a priori el generador subyacente)? ¿Qué tal una secuencia de 1,000? ¿Qué tal una secuencia de 1 x 10 ^ 20 números? De nuevo, es un ejemplo simplista, pero la cantidad de datos se vuelve demasiado para observar de una vez.

Trabajar con grandes datos (es decir, grandes cantidades de datos) es algo paralelo a eso. Hay demasiados datos (volumen) entrando a una velocidad (velocidad) demasiado rápida. Como científico de datos, realizo experimentos con subconjuntos de datos extremadamente pequeños. Luego trabajo para escalar esas soluciones a algo que escala bien cuando se aplica a cantidades cada vez mayores de datos (piense en la complejidad de Big-Oh).

Estoy seguro de que es diferente dependiendo de la industria en la que te encuentres. Los especialistas en visualización de datos (a saber, datos) probablemente tengan un proceso similar pero con un objetivo obviamente diferente.

Imagine volver a los años 70 cuando tomó horas compilar y ejecutar su programa y tuvo que ejecutarlo en un mainframe 🙂

Entonces, en algunos sentidos, es frustrante, pero también bastante gratificante, ya que tienes que pensar realmente en tu código para que sea rápido. La mayoría de la codificación en estos días no requiere demasiada comprensión algorítmica ya que las computadoras son muy rápidas. En Big Data, las computadoras aún no son lo suficientemente rápidas, por lo que los problemas se vuelven difíciles nuevamente.

Ahora el modelado (Ciencia de datos) en Big Data es aún más divertido porque el desafío es escribir un modelo donde NO necesite muestrear. El muestreo es muy peligroso en muchas situaciones porque pierde la señal, y si sus datos son escasos, puede obtener un rendimiento horrible. Escribir algoritmos eficientes que puedan escalar y no necesiten muestreo requiere experiencia, comprensión de la informática (diferencias de velocidad en el uso de diferentes recursos, cachés de CPU, etc.) y teoría de la complejidad.

Parte del trabajo más relevante que hice en la universidad para Big Data fue tomar un curso de matemática pura sobre la teoría formal de la computación: este curso definió las computadoras como máquinas de Turing y la complejidad formalmente definida. Tuvimos que escribir pruebas de que ciertos algoritmos tenían cierta complejidad. El resultado fue una comprensión muy profunda de cómo escribir código rápido. Por lo tanto, recomiende tomar un curso similar o comprar un libro que cubra la teoría de la complejidad desde una perspectiva matemática.

Solía ​​ser físico y tuve que cambiar a la programación porque no era tan fácil encontrar trabajo en ciencias.

Big Data para mí es como volver a la ciencia. En la programación no tienes que saber matemáticas, esencialmente terminas escribiendo una secuencia de comandos lógicos para barajar las cosas.

Big Data es como la ciencia porque usa muchas matemáticas, y porque el resultado no está garantizado: debes pensar mucho antes de probar un algoritmo, y puede que no funcione en absoluto. Así que Big Data es mucho más como enfrentarse a lo desconocido, mientras que la programación regular va del punto A al punto B.

No puedo responder a esto yo mismo, pero recomiendo revisar una serie que estoy produciendo llamada Donut Days que presenta entrevistas con científicos de datos de renombre en las principales compañías de datos (Intuit, Databricks, etc.). Cada episodio se enfoca en el día a día de la ciencia de datos: cómo construir un equipo, la mentalidad requerida, los tipos de problemas resueltos, etc.

Lanzaremos la serie a fines de abril, y puede suscribirse para recibir actualizaciones en el sitio web de la serie:

Donut Days – Radio

Uno trabaja con big data con la intención de darle sentido. Lo dividiría en dos partes. Primero está el algoritmo que aplica en los datos que vienen en la parte de ciencias de datos. Otra es la parte de ingeniería que explica cómo almacena y procesa paralelamente estos datos (suponiendo que los datos sean grandes).
Personalmente, creo que hasta que conozca la ciencia de los datos y la ingeniería relacionada para almacenar y procesar los datos de manera inteligente, no tendrá una idea de toda la historia. Si lo hace, es como descifrar un caso con pistas ocultas en datos enormes que no tiene sentido a simple vista.

Hay una cantidad sorprendente de conteo.