小编Neh*_*rma的帖子

缓存的 RDD 存储在哪里(即以分布式方式或在单个节点上)?

当我们在 Spark 中缓存一个 RDD 时,它是以分布式方式存储还是在单个节点上?它存储在哪些系统内存中?

apache-spark rdd

6
推荐指数
1
解决办法
821
查看次数

映射器何时将其输出存储到本地硬盘?

我知道

Mapper 的输出(中间数据)存储在每个单独的 Mapper 数据节点的本地文件系统(不是 HDFS)上。这通常是一个临时目录,可以由 Hadoop 管理员在配置中设置。一旦Mapper作业完成或数据传输到Reducer,这些中间数据将被清除并且无法再访问。

但是,我想知道映射器何时将其输出存储到本地硬盘?是不是因为数据太大,内存放不下?并且只有正在处理的数据保留在内存中?如果数据很小并且整个数据可以放入内存中,那么就不需要磁盘参与了吗?

一旦数据在mapper中处理后,我们是否可以不直接将数据从mapper移动到reducer而不涉及mapper m/c的硬盘。我的意思是,当数据在映射器中处理并且位于内存中时,一旦计算完毕,它就会直接传输到减速器,并且映射器可以类似地传递下一个数据块,而无需磁盘参与。

在spark中,据说有内存计算,这和上面有什么不同?是什么让 Spark 内存计算比 Map Reduce 更好?另外,在spark中,如果数据太大,就必须涉及磁盘?

请解释

hadoop mapreduce reducers mapper apache-spark

3
推荐指数
1
解决办法
2447
查看次数

在bash脚本中打印奇数会给出错误

请告诉我为什么在bash脚本中使用以下代码打印奇数会给出错误:

第3行:{1%2:语法错误:操作数预期(错误标记为"{1%2")

for i in {1 to 99}
do
rem=$(( $i % 2 ))
if [$rem -neq 0];
then
echo $i
fi
done
Run Code Online (Sandbox Code Playgroud)

bash shell

2
推荐指数
3
解决办法
2万
查看次数

标签 统计

apache-spark ×2

bash ×1

hadoop ×1

mapper ×1

mapreduce ×1

rdd ×1

reducers ×1

shell ×1