1、什么是Dask?
Pandas
和Numpy
大家都不陌生了,代码运行后数据都加载到RAM中,如果数据集特别大,我们就会看到内存飙升。但有时要处理的数据并不适合RAM
,这时候Dask
来了。
Dask
是开源免费的。它是与其他社区项目(如Numpy,Pandas和Scikit-Learn)协调开发的。
Dask
支持Pandas
的DataFrame
和NumpyArray
的数据结构,并且既可在本地计算机上运行,也可以扩展到在集群上运行。
基本上,只要编写一次代码,使用普通的Pythonic
语法,就可在本地运行或部署到多节点集群上。这本身就是一个很牛逼的功能了,但这还不是最牛逼的。
我觉得Dask
的最牛逼的功能是:它兼容大部分我们已经在用的工具,并且只需改动少量的代码,就可以利用自己笔记本电脑上已有的处理能力并行运行代码。而并行处理数据就意味着更少的执行时间,更少的等待时间和更多的分析时间。
下面这个就是Dask
进行数据处理的大致流程。
2、Dask支持哪些现有工具?
这一点也是我比较看中的,因为Dask
可以与Python
数据处理和建模的库包兼容,沿用库包的API,这对于Python使用者来说学习成本是极低的。而像Hadoop
、Spark
这种大数据处理是有很高的学习门槛和时间成本的。
目前,Dask
可支持pandas
、Numpy
、Sklearn
、XGBoost
、XArray
、RAPIDS
等等,光是这几项我觉得就足够用了,至少对于常用的数据处理、建模分析是完全覆盖得掉的。
3、Dask安装
可