pandas - Pandas 可以在 Spark 上运行吗?
问题描述
我们有一个 Spark 集群,用于在 Python 中执行各种金融数据集的分析,范围高达数百 TB。它适用于那些熟悉 Spark 的人,但最近我们有一些更熟悉 Pandas 的数据科学家要求使用 Pandas 而不是 Spark。Spark 的主要优势在于它专为分布式处理而设计,可以处理更大的数据集,因此我们一直在研究建立一个 Dask 集群。
但这让我开始思考:是否存在一些概念上的原因,为什么 Pandas 脚本无法通过实现兼容层将 Pandas 原语转换为 Spark 原语,从而无法在 Spark 集群上运行,就像 Dask 的工作方式一样?或者它们在某些方面有根本的不同?
解决方案
大多数 Spark 集群使用Apache Yarn在多个节点上部署 Spark。这些集群还使用 Yarn 部署其他服务,如 Hive、Flink、Hadoop MapReduce 等。任何可以与 Yarn 通信的应用程序都可能能够在您的集群上本地运行;Spark 就是这样一种应用程序。
您现在可以使用Dask Yarn项目在您的 Spark/Yarn 集群上运行Dask Dataframes(这是当今最接近并行 Pandas 数据帧的东西) 。
推荐阅读
- ios - URLSessionWebSocketTask:致命错误:只有消息或错误之一应为 nil
- docker - 有没有快速查看.dockerignore效果的命令?
- java - Java 11 中的 Jasperreport。java.lang.NoClassDefFoundError: 无法初始化类 net.sf.jasperreports.engine.util.JRStyledTextParser
- node.js - 使用代理传递 apache 的 https 域上的套接字 io
- github - 如何更改 github 拉取请求的默认标题
- r - 在 Shiny DT 中,当有很多 ScrollX=TRUE 的列时,焦点会丢失
- php - 如何通过 Laravel Query builder 制作 sql foreach 循环?
- python - 尝试在 Windows 上安装 opencv-python 时出错
- r - 有没有办法在 MLR 框架中为 XgBoost 设置“基本边距”?
- linux - 带有特殊字符的 sendmail 身份验证问题