问题描述
我有一个带有3个工作程序节点的Spark集群,当我尝试从hdfs加载csv文件时,它仅利用了我通过spark-shell(使用的主节点)加载csv的系统上的资源(cpu和内存)
加载数据框
val df = spark.read.format("csv")
.option("header","true")
.load("hdfs://ipaddr:9000/user/smb_ram/2016_HDD.csv")
对数据框进行一些操作
df.agg(sum("failure")).show
当我加载csv时,系统内存增加1.3 GB,这是hdfs文件大小和100%cpu使用率。工作人员使cpu的空闲率接近0%,并且内存使用率没有变化。理想情况下,我希望所有繁重的工作都由没有发生的工人完成。
解决方法
将火花模式设置为可以解决问题的群集。看来您的工作正在客户端模式下运行。