tutorial spark que example español datacamp python pandas apache-spark dask bigdata

python - que - rdd spark



¿En qué situación puedo usar Dask en lugar de Apache Spark? (1)

Actualmente estoy usando Pandas y Spark para el análisis de datos. Encontré que Dask proporciona una matriz NumPy en paralelo y Pandas DataFrame.

Pandas es fácil e intuitivo para hacer análisis de datos en Python. Pero me resulta difícil manejar múltiples marcos de datos más grandes en Pandas debido a la limitada memoria del sistema.

Respuesta simple:

Apache Spark es un marco todo incluido que combina computación distribuida, consultas SQL, aprendizaje automático y más que se ejecuta en la JVM y comúnmente se implementa junto con otros marcos de Big Data como Hadoop. ... Generalmente Dask es más pequeño y liviano que Spark.

Llego a conocer los detalles a continuación en http://dask.pydata.org/en/latest/spark.html

  • Dask es ligero ponderado
  • Dask se usa normalmente en una sola máquina, pero también se ejecuta bien en un clúster distribuido.
  • Dask proporciona arreglos paralelos, marcos de datos, aprendizaje automático y algoritmos personalizados
  • Dask tiene una ventaja para los usuarios de Python porque, en sí misma, es una biblioteca de Python, por lo que la serialización y la depuración cuando las cosas salen mal sucede más fácilmente.
  • Dask abandona la comprensión de alto nivel para permitir a los usuarios expresar algoritmos paralelos más complejos.
  • Dask es más liviano y es más fácil de integrar en el código y hardware existentes.
  • Si desea un solo proyecto que hace todo y ya está en el hardware de Big Data, Spark es una apuesta segura.
  • Spark se usa normalmente en grupos pequeños a medianos, pero también funciona bien en una sola máquina.

Entiendo más cosas sobre Dask en el siguiente enlace https://www.continuum.io/blog/developer-blog/high-performance-hadoop-anaconda-and-dask-your-cluster

  • Si tiene problemas de memoria, limitaciones de almacenamiento o límites de la CPU en una sola máquina cuando usa Pandas, NumPy u otros cálculos con Python, Dask puede ayudarlo a ampliar todos los núcleos en una sola máquina, o escalar en todos los núcleos y la memoria de su clúster.
  • Dask funciona bien en una sola máquina para hacer uso de todos los núcleos de su computadora portátil y procesar datos más grandes que la memoria
  • escala de forma elástica y elástica en grupos con cientos de nodos.
  • Dask trabaja de forma nativa desde Python con datos en diferentes formatos y sistemas de almacenamiento, incluido el Sistema de archivos distribuidos de Hadoop (HDFS) y Amazon S3. Anaconda y Dask pueden trabajar con su distribución empresarial existente de Hadoop, incluyendo Cloudera CDH y Hortonworks HDP.

http://dask.pydata.org/en/latest/dataframe-overview.html

Limitaciones

Dask.DataFrame no implementa toda la interfaz de Pandas. Los usuarios que esperan esto se sentirán decepcionados. Por supuesto, dask.dataframe tiene las siguientes limitaciones:

  1. Establecer un nuevo índice a partir de una columna sin clasificar es costoso
  2. Muchas operaciones, como groupby-apply y join en columnas sin clasificar requieren la configuración del índice, que, como se mencionó anteriormente, es costoso
  3. La API de Pandas es muy grande. Dask.dataframe no intenta implementar muchas características de pandas ni ninguna de las estructuras de datos más exóticas como NDFrames

Gracias a los desarrolladores de Dask. Parece una tecnología muy prometedora.

En general, puedo entender que Dask es más fácil de usar que la chispa. Dask es tan flexible como Pandas con más poder para calcular con más cpu de forma paralela.

Entiendo todos los hechos anteriores sobre Dask.

Entonces, ¿aproximadamente la cantidad de datos (en terabyte) que se pueden procesar con Dask?


es posible que desee leer la http://dask.pydata.org/en/latest/spark.html

Apache Spark es un marco todo incluido que combina computación distribuida, consultas SQL, aprendizaje automático y más que se ejecuta en la JVM y comúnmente se implementa junto con otros marcos de Big Data como Hadoop. Originalmente, fue optimizado para la ingesta de datos en masa y para consultas comunes en ingeniería de datos y análisis de negocios, pero desde entonces se ha ampliado. Spark se usa normalmente en grupos pequeños a medianos, pero también funciona bien en una sola máquina.

Dask es una biblioteca de programación paralela que se combina con el ecosistema de Python numérico para proporcionar matrices paralelas, marcos de datos, aprendizaje automático y algoritmos personalizados. Se basa en Python y la pila C / Fortran fundacional. Dask fue diseñado originalmente para complementar otras bibliotecas con paralelismo, en particular para computación numérica y analítica avanzada, pero desde entonces se ha ampliado. Dask se usa normalmente en una sola máquina, pero también se ejecuta bien en un clúster distribuido.

Generalmente Dask es más pequeño y liviano que Spark. Esto significa que tiene menos funciones y, en cambio, está diseñado para usarse junto con otras bibliotecas, particularmente las del ecosistema numérico de Python.