如果我们以RDD的形式处理存储在Spark本地磁盘中的一个大CSV文件(大小为1 GB),并将其重新划分到4个不同的分区,执行器会并行处理每个分区吗?如果我们不将RDD重新划分为4个不同的分区,执行器会怎么做?如果不使用HDFS,我们是否会失去分布式计算和并行性的能力?
Spark将分区的最大大小限制在2G,因此您应该能够以最小的分区和更快的处理时间处理整个数据。您可以将spark.executor.cores设置为8,以便利用所有资源。
理想情况下,您应该根据数据的大小来设置分区的数量,最好将分区的数量设置为核/执行器的倍数。
为了回答您的问题,在您的情况下,将分区数设置为4可能会导致每个分区都被发送到一个执行器。所以是的,每个分区将被并行处理。
在Spark独立集群中,主节点是否也运行任务?我不确定是否有Executors进程在主节点上旋转并与工作节点一起工作。 谢了!
我已按照以下指南在本地计算机(Windows 10)上安装spark:https://changhsinlee.com/install-pyspark-windows-jupyter/. 从Anaconda启动笔记本并运行时: 它需要很长时间,而且不会完成(至少在60分钟内)。 在此之前,我收到了错误“java-gage-Process-exited-前…”。阅读此内容后:“https://sta
目前,我正在群集模式(独立群集)下使用Spark 2.0.0,群集配置如下: 工作线程:使用了4个内核:总共32个,使用了32个内存:总共54.7 GB,使用了42.0 GB 我有4个奴隶(工人)和1台主机。火花盘有三个主要部件-主部件、驱动部件、工作部件(参考) 现在我的问题是,驱动程序正在其中一个工作节点中启动,这阻碍了我在其全部容量(RAM方面)中使用工作节点。例如,如果我在运行spark作
我是Spark的新手。我尝试在本地模式(windows)下使用spark java将csv文件保存为parquet。我得到了这个错误。 原因:org.apache.spark.Spark异常:写入行时任务失败 我引用了其他线程并禁用了spark推测 set("spark.speculation "," false ") 我还是会出错。我在csv中只使用了两个专栏进行测试。 输入: 我的代码: 请帮
Gradle如何在本地文件系统上存储下载的jar文件?Maven将它们存储在下的目录中,但Gradle将它们存储在哪里?我检查了那里的文件夹,但只看到编译过的脚本。
一些脚本在工作时什么也不做,当我手动运行它们时,其中一个失败了,出现了以下消息: 错误SparkUI:未能绑定SparkUI java.net.bindexception:地址已在使用:服务“SparkUI”在重试16次后失败! 所以我想知道是否有一种特定的方法来并行运行脚本?