gpt4 book ai didi

apache-spark - 将数据帧保存到表 - Pyspark 中的性能

转载 作者:行者123 更新时间:2023-12-04 15:28:56 28 4
gpt4 key购买 nike

我知道有两种方法可以将 DF 保存到 Pyspark 中的表中:

1) df.write.saveAsTable("MyDatabase.MyTable")

2) df.createOrReplaceTempView("TempView")
spark.sql("CREATE TABLE MyDatabase.MyTable as select * from TempView")

在大型分布式数据集上运行时,使用“CREATE TABLE AS”语句与“saveAsTable”在性能上有什么区别吗?

最佳答案

createOrReplaceTempView创建(或替换,如果该 View 名称已经存在)一个延迟评估的“ View ”,它可以用作 Spark SQL 中的表。直到您调用操作(如 count )或坚持到 memory 时,它才会具体化除非您调用 cache在支持 View 的数据集上。顾名思义,这只是一个 临时看法。它在您的应用程序/ session 结束后丢失。
saveAsTable另一方面将数据保存到外部存储,如 hdfss3adls .这是永久存储,持续时间比 SparkSession 或 Spark 应用程序的范围长,可供以后使用。

所以主要区别在于生命周期数据集比性能。显然,在同一个作业中,处理缓存数据的速度更快。

关于apache-spark - 将数据帧保存到表 - Pyspark 中的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61678945/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com