Spark Arrow、toPandas() 和广泛的转型
Spark Arrow, toPandas() and wide transformation
使用箭头优化时 toPandas() 实际做了什么?
生成的 pandas 数据帧对于 pandas 数据帧上的广泛转换(需要数据改组)是否安全,例如 .merge
操作? group 和 aggregate 呢?我应该期待什么样的性能限制?
我正在尝试尽可能标准化为 Pandas 数据帧,因为单元测试和内存中对象的可交换性很容易,而无需启动可怕的 spark 实例。
toPandas()
获取您的 spark dataframe 对象并将客户端驱动程序机器上的所有分区作为 pandas dataframe.对这个新对象(pandas dataframe)的任何操作都将在具有 python 的单台机器上 运行 因此没有 wide 转换 将成为可能,因为您不再使用 spark 集群分布式计算(即没有 partitions/worker 节点交互)。
使用箭头优化时 toPandas() 实际做了什么?
生成的 pandas 数据帧对于 pandas 数据帧上的广泛转换(需要数据改组)是否安全,例如 .merge
操作? group 和 aggregate 呢?我应该期待什么样的性能限制?
我正在尝试尽可能标准化为 Pandas 数据帧,因为单元测试和内存中对象的可交换性很容易,而无需启动可怕的 spark 实例。
toPandas()
获取您的 spark dataframe 对象并将客户端驱动程序机器上的所有分区作为 pandas dataframe.对这个新对象(pandas dataframe)的任何操作都将在具有 python 的单台机器上 运行 因此没有 wide 转换 将成为可能,因为您不再使用 spark 集群分布式计算(即没有 partitions/worker 节点交互)。