在linux系统上,大数据运行在内存中产生的中间数据一般有多大?最大会达到1个T吗?
一般最大值控制在什么范围合适?望各位有经验的大佬不吝赐教!
运行内存是可以设置的,以运行一个spark作业为例,提交作业时可以执行本次作业所需要的总共cpu核心数和总共的内存数,作业提交后spark 的 sparkContext 会向集群申请分配资源,集群会最大限度的提供资源,当然也存在申请90核心,集群只分配了70核心的情况。所以大数据运算的内存控制主要是看你的集群有多少资源,你愿意使用多少资源。
不一定 这个可以持久化到内存 也可以落磁盘 你可以控制
一般没人会把数据一直存放在内存吧,比如说hbase在实时写入数据的时候,会先写到内存中,当内存中的数据达到一定大小(比如说配置为4G),会把数据刷写到HFile文件并保存到HDFS中。
一般不会这么大的,数据不会一直放在内存。处理大数据的核心是分布式,将大量的数据计算分摊给多台计算机。
这些都是可以配置的,基本上大数据平台都会把数据分很多块在内存中处理。选择合适的数据块大小可以在处理速度和网络传输等上面得到一个优化结果。具体来说,是根据任务具体情况,划分每数据块大小。单独说内存数据多大没有意义