Spark Dataframe 在性能上比 Pandas Dataframe 有何优势? [关闭]

2023-12-20

谁能解释一下 Spark Dataframes 在执行时间方面比 Pandas Dataframes 更好。我正在处理中等数量的数据并进行 python 函数驱动的转换

例如,我的数据集中有一列包含从 1 到 100,000 的数字,并且想要执行基本的数字操作 - 创建一个新列,该新列是现有数字列的立方体。

from datetime import datetime
import numpy as np
import pandas as pd

def cube(num):
    return num**3

array_of_nums = np.arange(0,100000)

dataset = pd.DataFrame(array_of_nums, columns = ["numbers"])

start_time = datetime.now() 
# Some complex transformations...
dataset["cubed"] = [cube(x) for x in dataset.numbers]
end_time = datetime.now() 

print("Time taken :", (end_time-start_time))

输出是

Time taken : 0:00:00.109349

如果我使用带有 10 个工作节点的 Spark Dataframe,我可以期待以下结果吗? (这是 Pandas DataFrame 所用时间的 1/10)

Time taken : 0:00:00.010935

1)Pandas的数据框不是分布式的,而Spark的DataFrame是分布式的。 -> 因此,您将无法获得 Pandas DataFrame 中并行处理的好处,并且对于大量数据,Pandas DataFrame 中的处理速度会降低。

2)Spark DataFrame 确保容错(它具有弹性),而 pandas DataFrame 则不能保证这一点。 -> 因此,如果您的数据处理在处理之间被中断/失败,那么 Spark 可以从谱系(从 DAG)重新生成失败的结果集。 Pandas 不支持容错。您需要实现自己的框架来保证这一点。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spark Dataframe 在性能上比 Pandas Dataframe 有何优势? [关闭] 的相关文章

随机推荐