¿Una máquina de máquina virtual de big data ayuda a analizar archivos grandes?

Para responder mejor a esta pregunta, sería útil saber qué tipo de análisis está tratando de hacer. En mi experiencia, casi siempre hay una forma de analizar datos sin tener que leerlos todos a la vez. De hecho, MapReduce (el paradigma informático detrás de Hadoop) funciona porque divide los datos en fragmentos y permite que cada nodo de trabajo trabaje en cada fragmento independientemente.

Independientemente de lo que intente lograr, no necesita Hadoop, Spark ni ninguna otra solución basada en clúster para procesar un archivo de 2.5GB. Personalmente, recomiendo que la mayoría de las personas no utilicen Hadoop o Spark a menos que tengan conjuntos de datos en el rango de terabytes o mayor. Una sola máquina con 8GB o más debería manejar fácilmente un archivo de 2.5 GB en la memoria. Si no tiene tanta memoria disponible en su máquina local, entonces podría usar una solución basada en la nube como Amazon Web Services.

Como no conozco los detalles, puedo darle algunos consejos generales sobre dónde puede ir desde aquí. Todos mis ejemplos se basan en Python, ya que eso es lo que uso para mi trabajo diario.

  • Reduzca la cantidad de datos que necesita analizar. Puede hacer esto creando un nuevo conjunto de datos que filtre los campos innecesarios.
  • El hashing de características es una gran técnica para manejar datos categóricos cuando las categorías no se conocen de antemano. Esto le permite codificar datos categóricos, sin necesidad de revisar primero todo el conjunto de datos.
  • Los algoritmos basados ​​en el Descenso de gradiente estocástico funcionan bien para entrenar modelos predictivos utilizando fragmentos incrementales de datos. Nuevamente, esto significa que no tiene que cargar todo su conjunto de datos a la vez para entrenar el modelo.

En mi humilde opinión, hay muchas maneras de manejar un conjunto de datos de este tamaño sin necesidad de una solución compleja como Hadoop. Solo necesita encontrar una solución para sus necesidades específicas.

Mucho depende de su nivel de codificación, pero compartiré cómo lo abordaría personalmente en una máquina sin nada preinstalado.

  1. Consigue Apache Spark.
  2. Ejecutar spark-shell.
  3. Analizar datos usando spark-shell. Usaría Scala, pero Python también está disponible.
  4. Guarde la salida de su análisis como archivo CSV para su uso posterior.

Una nota importante: realmente no requiere un hardware robusto para procesar 2.5GB localmente, una computadora portátil normal con 8 GB de RAM funcionaría bien (especialmente si tiene un SSD que es bastante normal en estos días de todos modos).

More Interesting

¿Tiene sentido emplear Bayes ingenuos multinomiales con n-gramos? Pregunto porque supone que cada posición está ocupada por un término, por lo que los n-gramos no parecen encajar naturalmente en el modelo.

¿Puede el preprocesamiento de datos en redes neuronales de IA (aprendizaje profundo) ser dinámico y automatizado (en lugar de estático y manual)?

¿Cuál es la teoría detrás de ingresar una imagen en una red neuronal?

¿Es posible usar bibliotecas de aprendizaje automático OpenCV para aplicaciones que no son de visión por computadora?

Inteligencia artificial: ¿Qué tan importante es el aprendizaje de transferencia / transferencia profunda?

Cómo calcular la similitud de coseno entre tweets

Cómo configurar datos de entrenamiento para una red neuronal para generar valores de joystick basados ​​en una entrada de imagen

¿Cuál es su experiencia de aprendizaje automático en el mundo real en Haskell?

¿Cuál es el método de detección de objetos de última generación para la identificación de objetos dentro de la imagen?

¿En qué deberían centrarse los gerentes de productos de software que son nuevos en AI / Machine Learning? Los cursos en línea son extremadamente técnicos. ¿Es eso lo que se necesita?

¿Cuáles son algunos problemas no resueltos en el procesamiento del lenguaje natural?

¿Qué pasaría si pocos puntos de datos son comunes en los conjuntos de capacitación y validación?

¿Cuál es el proceso paso a paso para aplicar el aprendizaje automático en el trabajo (desde el procesamiento de la entrada hasta la etapa final)?

¿Cómo deberías comenzar una carrera en aprendizaje profundo?

¿Qué debería aprender primero para el aprendizaje automático y la autoeducación: cálculo, probabilidad, estadística o álgebra lineal?