大数据IMF传奇行动绝密课程第47课:Spark性能优化第三季

原创 2016年08月30日 19:46:09

Spark性能优化第三季

一、Spark程序数据结构的优化
1、数据结构优化
2、内存诊断
3、Persist和Checkpoint
1、Java的对象:对象头是16个字节(例如指向对象的指针等元数据信息),如果对象中只有一个int的property,则此时会占据20个字节,也就是说对象的元数据占用了大部分的空间,所以在封装数据的时候尽量不要使用对象。例如使用JSON格式来封装数据。
2、Java中基本数据类型会自动封箱,例如int会自动变成Integer,这会额外增加对象头的空间占用。
3、Java的String在实际占用内存方面要额外使用40个字节(String的内部使用char[]来保存字符序列),另外需要注意的是String中的字符是2个字节(UTF-16),如果内部有5个字符的话,实际上会占用50个字节;
4、Java中的集合List、HashMap等等其内部一般使用链表来实现,具体的每个数据使用Entry等,这些也非常消耗内存;
5、优先使用原生数组,尽可能不要直接使用ArrayList、HashMap、LinkedList等数据结构,例如List list = new ArrayList()需要考虑替换为int[] array = new int[];
6、优先使用String(推荐使用JSON),而不是采用HashMap、List等来封装数据,例如Map

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Spark RPC

一:Spark 1.6RPC解析1,Spark 1.6推出RpcEnv,RPCEndpoint,PRCEndpointRef为核心的新型架构下的RPC通信方式,就目前的实现而言,其底层依旧是Akka;...

大数据IMF传奇行动绝密课程第49课:Spark性能优化第五季

Spark性能优化第五季1、数据本地性 2、RDD自定义 一、性能优化之数据本地性 1、数据本地性对分布式系统的性能而言是一件最为重要的事情(之一),程序运行本身包含代码和数据两部分,单机版本一...

Spark性能优化第七季之Spark 钨丝计划

一:“钨丝计划”产生的本质原因1,Spark作为一个一体化多元化的(大)数据处理通用平台,性能一直是其根本性的追求之一,Spark基于内存迭代(部分基于磁盘迭代)的模型极大的满足了人们对分布式系统处理...

大数据IMF传奇行动绝密课程第54课:Spark性能优化第十季之Spark统一内存管理

Spark性能优化第十季之Spark统一内存管理1、传统的Spark内存管理的问题 2、Spark统一内存管理 3、展望Spark内存分为三部分:Execution、Sotrage、Other; ...

Spark性能优化第一季

一:Spark性能优化核心基石1, Spark是采用Master-Slaves的模式进行资源管理和任务执行的管理:a) 资源管理:Master-Workers,在一台机器上可以有多个Workers;b...

Spark性能优化第二季

一:Task性能优化1,慢任务(数据倾斜或机器故障)的性能优化:可以考虑减少每个partition处理的数据量,同时建议开启spark.speculation;2,尽量减少Shuffle,例如我们要减...

大数据IMF传奇行动绝密课程第46课:Spark性能优化第二季

Spark性能优化第二季1、Task性能优化 2、数据倾斜性能优化 3、网络性能优化一、Task性能优化 1、慢任务的性能优化:可以考虑每个Partition处理的数据量,同时建议开启spark...

大数据IMF传奇行动绝密课程第51课:Spark性能优化第七季

Spark性能优化第七季1、“钨丝计划”产生的根本背景 2、“钨丝计划”内幕详解 3、“钨丝计划”下的Shuffle 一、“钨丝计划”产生的本质原因 1、Spark作为一个一体化多元化的(大)...

Spark性能优化第五季

一:性能优化之数据本地性1,数据本地性对分布式系统的性能而言是一件最为重要的事情(之一),程序运行本身包含代码和数据两部分,单机版本一般情况下很少数据本地性的问题(因为数据在本地),但是对于单机版本的...

大数据IMF传奇行动绝密课程第52课:Spark性能优化第八季

Spark性能优化第八季1、“钨丝计划”Shuffle实例 2、“钨丝计划”下的Shuffle解密./spark-sql --master spark://Master:7077一、使用Tungst...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)