Pandas 熊猫能在星火上奔跑吗?

Pandas 熊猫能在星火上奔跑吗?,pandas,apache-spark,dask,Pandas,Apache Spark,Dask,我们有一个Spark集群,用于在Python中执行各种金融数据集的分析,最大可达数百TB。这对那些喜欢Spark的人来说效果很好,但最近我们有一些更熟悉熊猫的数据科学家要求使用熊猫而不是Spark。Spark的主要优点是它是为分布式处理而设计的,可以处理更大的数据集,因此我们一直在考虑建立Dask集群 但这让我思考:Pandas脚本不能在Spark集群上运行,实现兼容层将Pandas原语转换为Spark原语(Dask的工作方式相同),这有什么概念上的原因吗?或者它们在某些方面有根本的不同?大多数

我们有一个Spark集群,用于在Python中执行各种金融数据集的分析,最大可达数百TB。这对那些喜欢Spark的人来说效果很好,但最近我们有一些更熟悉熊猫的数据科学家要求使用熊猫而不是Spark。Spark的主要优点是它是为分布式处理而设计的,可以处理更大的数据集,因此我们一直在考虑建立Dask集群

但这让我思考:Pandas脚本不能在Spark集群上运行,实现兼容层将Pandas原语转换为Spark原语(Dask的工作方式相同),这有什么概念上的原因吗?或者它们在某些方面有根本的不同?

大多数Spark群集用于跨多个节点部署Spark。这些集群还使用Thread部署其他服务,如Hive、Flink、Hadoop MapReduce等。任何可以与纱线对话的应用程序都可以在集群上本地运行;Spark就是这样一种应用


您今天可能可以使用该项目在Spark/Thread集群上运行(这是目前最接近并行熊猫数据帧的项目)。

更新:现在您似乎可以使用Databricks的新考拉项目来执行此操作:

考虑到Spark和Pandas数据帧(分别为RDD和数组)使用的基本抽象不兼容(最明显的区别是顺序),任何转换层都会受到高度限制。此外,核心管道中使用的常见操作在规模上根本不可行。因此,翻译是可能的——例如,看看基本任务,它可能工作得很好,但是在更复杂的需求中,它泄漏了抽象,并且失败得很惨(同上)。像对待另一个列表一样对待复杂的分布式系统不是一个好办法……试试daskproject@user6910411-我的问题是,基本抽象的区别是什么?“你说的订货是什么意思?”ChitralVerma-你能详细解释一下吗?你的意思是在Spark上运行Dask吗?基本原理:a)非随机访问b)非本地(广域)操作没有订单处理保证。这是个好主意。然而,在我们的例子中,我们使用的是Spark的云托管版本,因此很遗憾,我们无法访问Thread。