apache-spark - 为什么spark中的 "collect" Action 会触发驱动程序的数据收集?

标签 apache-spark hadoop pyspark apache-spark-sql rdd

当我们在spark中使用showtakewrite操作时,所有数据都会发送到驱动程序吗?如果不是,那么为什么当我们使用 collect 时所有数据都会发送到驱动程序?

最佳答案

showtake 将您请求的数据量(例如 20 行)提取到驱动程序上,而 collect 将数据提取到整个数据帧,跨所有分区,到驱动程序上。 write 会将整个数据帧输出到一个文件位置,但它通常以分区的方式完成,这意味着每个执行器可以直接将其分区中包含的数据写入文件系统。

关于apache-spark - 为什么spark中的 "collect" Action 会触发驱动程序的数据收集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65455641/

相关文章:

apache-spark - 在 Spark 中将日期转换为 ISO 周日期

scala - Spark-提交 java.lang.ClassNotFoundException

apache-spark - Pyspark,按列中的唯一值对另一列中的某个值进行分组

java - 远程连接Spark集群

scala - 在 Spark GraphX 中实现拓扑排序

hadoop - 从 sbt 文件中的 spark 库中排除 hadoop 依赖

hadoop - 使用YARN在集群模式下运行Spark时出现java.io.FileNotFoundException

sql - 如何使用 Select 语句在 Hive 中执行除法

python - 将字符串列转换为向量列 Spark DataFrames

python - Spark : equivelant of zipwithindex in dataframe