我正在阅读spark权威指南,其中写道:
Python/R DataFrames exist on one machine rather than multiple machines... this limits what you can do with a given DataFrame to resources that exist on that specific machine..
因此,我想知道为什么Python的dataFrame不能跨越多台机器?如果这意味着 python 不是分布式的?
更新
Python/R 是否有类似 Spark scala/java 的等效分布式 DataFrame??DataFrame
最佳答案
Pandas 不允许您将数据帧自行分发到多台计算机。当您拥有以下数据时,这对我们有好处
- 适合内存 (RAM)
- 适合磁盘
因此,当您拥有可以用单台机器处理的数据时,它会很好地工作。但是,当数据和处理需求增长时,您希望迁移到存储和处理数据帧的分布式/并行处理的库。数据帧的概念在这些库中很常见,但实现方式有所不同,以提供分布式处理能力。两个很好的例子是
- Dask,它通常通过
多处理/多任务
在利用多个核心
/线程
的单台机器上使用,但也可以在分布式集群。 - Apache Spark 主要用于多节点集群模式,因此是分布式数据处理框架。 (但也可以在单机上使用)
更新:
你问这个
DataFrame CONCEPT is the one that is not distributed, however R and Python have other concept to do distributed computation
Dataframe 不需要非分布式或分布式,它只是一个概念,DataFrame 是一个二维数据结构,其中的列可以有不同的类型,并且查询、汇总和操作非常容易和高效它被许多面向数据的编程范式和库所采用。因此,利用和操作这些数据帧也可以以分布式方式完成,以处理大数据。 Spark只是分布式数据处理框架的一个示例,它可以与包括R和Python在内的多种语言一起使用
关于python - 为什么 python dataFrames' 只位于同一台机器上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63690443/