Spark-执行程序内存使用情况的细粒度视图

时间:2018-10-18 08:13:25

标签: apache-spark apache-spark-sql yarn

我继承了一个讨厌的TSQL迭代代码,需要在spark上运行。

我不会为您带来太多细节,但是代码在从minDate到maxdate的四个月内应用了滑动10天的窗口,并应用了更正。

在Hive中以Parquet格式存储的4个月期间的总大小约为12GB,因此并不庞大。假设分布均匀1天的数据量约为100MB。

该算法被应用了两次,因此避免了每天要缓存的磁盘写操作的开销,一旦该日期从十天的窗口结束时就存储为全局临时视图。这些临时视图也将尽快删除。

每个执行器都有32GB的内存,但是我看到我的工作失败了,因为超出了这个范围。

所以我的问题是:

  1. 是否有可能获得比Spark UI提供的执行器内存更细粒度的视图,所以我可以查看可能引起此问题的原因。

  2. 我假设全局temp视图在进行分区时存储在多个执行器中。是这样吗保存全局临时视图时,我还有其他需要注意的地方吗,例如Parquet和Hive格式之间压缩率的差异?

0 个答案:

没有答案
相关问题