摘要:
1.当反复使用某些RDD时建议使用persist(缓存级别)(采用默认缓存级别时为cache())来对数据进行缓存。 2.如果某个步骤的RDD计算特别耗时或经历很多步骤的计算,当重新计算时代价特别大,此时应考虑使用checkpoint,对DAG做检查点,将中间结果保存到高可用(一般是HDFS)的地方 阅读全文
posted @ 2018-08-05 18:43
云山之巅
阅读(344)
评论(0)
推荐(0)
摘要:
一.内存检测 1.JVM自带众多内存诊断的工具,例如:JMap,JConsole等,以及第三方IBM JVM Profile Tools等。 2.在开发、测试、生产环境中最合适的就是日志,特别是Driver产生的日志!调用RDD.cache(),当进行cache()操作时,Driver上的Block 阅读全文
posted @ 2018-08-05 18:27
云山之巅
阅读(1034)
评论(0)
推荐(0)
摘要:
场景: 1.scala中的对象:对象头是16个字节(包含指向对象的指针等源数据信息),如果对象中只有一个int的属性,则会占用20个字节,也就是说对象的源数据占用了大部分的空间,所以在封装数据的时候尽量不要使用对象!可以使用诸如:JSON来封装数据。 2.scala中基本的数据类型会自动进行封箱操作 阅读全文
posted @ 2018-08-05 18:20
云山之巅
阅读(384)
评论(0)
推荐(0)