Introducción a Dask en Python

Dask es una biblioteca que admite computación paralela en python. Proporciona características como-

  1. Programación dinámica de tareas optimizada para cargas de trabajo computacionales interactivas
  2. Las grandes colecciones de datos de dask amplían las interfaces comunes como NumPy, Pandas, etc.

¿Por qué Dask?

La mayoría de los análisis de BigData utilizarán Pandas, NumPy para analizar big data. Todos los paquetes mencionados admiten una amplia variedad de cálculos. Pero cuando el conjunto de datos no cabe en la memoria, estos paquetes no se escalarán. Aquí viene el amanecer. Cuando el conjunto de datos no “cabe en la memoria”, dask extiende el conjunto de datos para que “cabe en el disco” . Dask nos permite escalar fácilmente a clústeres o escalar hacia abajo a una sola máquina según el tamaño del conjunto de datos. 

Instalación

Para instalar este módulo, escriba el siguiente comando en la terminal: 

python -m pip install "dask[complete]" 

Veamos un ejemplo comparando dask y pandas. Para descargar el conjunto de datos utilizado en los siguientes ejemplos, haga clic aquí .

1. Rendimiento de Pandas: Lea el conjunto de datos usando pd.read_csv()

Python3

import pandas as pd
  
%time temp = pd.read_csv('dataset.csv',
                          encoding = 'ISO-8859-1')

Producción:

Tiempos de CPU: usuario 619 ms, sys: 73,6 ms, total: 692 ms

Tiempo de pared: 705 ms

2. Rendimiento de Dask: Lea el conjunto de datos usando dask.dataframe.read_csv

Python3

import dask.dataframe as dd
  
%time df = dd.read_csv("dataset.csv", 
                        encoding = 'ISO-8859-1')

Producción:

Tiempos de CPU: usuario 21,7 ms, sys: 938 µs, total: 22,7 ms

Tiempo de pared: 23,2 ms

Ahora podría surgir una pregunta sobre qué tan grandes conjuntos de datos se manejaron usando pandas antes del amanecer. Se manejan algunos trucos para administrar grandes conjuntos de datos en pandas.

  1. Usando el parámetro chunksize de read_csv en pandas
  2. Use solo las columnas necesarias mientras lee los archivos csv

Las técnicas anteriores se seguirán en la mayoría de los casos al leer grandes conjuntos de datos usando pandas. Pero en algunos casos, lo anterior podría no ser útil en ese momento en que dask entra en juego un papel importante.

Limitaciones del día

Hay ciertas limitaciones en dask.

  1. Dask no puede paralelizar dentro de tareas individuales.
  2. Como marco de computación distribuida, dask permite la ejecución remota de código arbitrario. Por lo tanto, los trabajadores de dask deben alojarse solo en una red confiable.

Publicación traducida automáticamente

Artículo escrito por Sowmya.L.R y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *