Python 在什么情况下我可以使用Dask而不是Apache Spark?
我目前正在使用Pandas和Spark进行数据分析。我发现Dask提供了并行化的NumPy阵列和数据帧 Pandas使用Python进行数据分析既简单又直观。但由于系统内存有限,我发现在Pandas中处理多个较大的数据帧很困难 简单回答: ApacheSpark是一个结合了分布式 计算机、SQL查询、机器学习以及在 JVM,通常与其他大数据框架(如 Hadoop。。。通常Dask比Spark更小、更轻 我从中了解到以下细节Python 在什么情况下我可以使用Dask而不是Apache Spark?,python,pandas,apache-spark,dask,Python,Pandas,Apache Spark,Dask,我目前正在使用Pandas和Spark进行数据分析。我发现Dask提供了并行化的NumPy阵列和数据帧 Pandas使用Python进行数据分析既简单又直观。但由于系统内存有限,我发现在Pandas中处理多个较大的数据帧很困难 简单回答: ApacheSpark是一个结合了分布式 计算机、SQL查询、机器学习以及在 JVM,通常与其他大数据框架(如 Hadoop。。。通常Dask比Spark更小、更轻 我从中了解到以下细节 Dask重量轻 Dask通常在一台机器上使用,但在分布式集群上也运行良
- Dask重量轻
- Dask通常在一台机器上使用,但在分布式集群上也运行良好
- Dask提供并行阵列、数据帧、机器学习和自定义算法
- Dask对Python用户来说有一个优势,因为它本身就是一个Python库,所以出错时的序列化和调试会更加顺利
- Dask放弃了高级理解,允许用户表达更复杂的并行算法李>
- Dask重量更轻,更容易集成到现有代码和硬件中
- 如果你想要一个能做所有事情的单一项目,而你已经在使用大数据硬件,那么Spark是一个安全的选择
- Spark通常用于中小型集群,但在单机上运行良好
- 如果在Python中使用Pandas、NumPy或其他计算时在一台机器上遇到内存问题、存储限制或CPU边界,Dask可以帮助您在一台机器上的所有核心上进行扩展,或者在集群中的所有核心和内存上进行扩展
- Dask在一台机器上运行良好,可以利用笔记本电脑上的所有内核,并处理大于内存的数据
- 在具有数百个节点的集群上弹性地向上扩展
- Dask从Python开始以不同的格式和存储系统处理数据,包括Hadoop分布式文件系统(HDFS)和amazons3。Anaconda和Dask可以与您现有的企业Hadoop发行版配合使用,包括Cloudera CDH和Hortonworks HDP
仅考虑数据大小不足以选择最佳并行工具/策略。需要考虑算法如何处理数据。我没有尝试这两个,但可能会尝试DASK在单机上,如笔记本电脑或PC,并会考虑部署火花时,需要运行多节点集群。因为使用spark附带的框架学习和调整每个组件看起来非常复杂。您可以在这里找到答案: