Spark调优指南(三)-调整数据结构

Tuning Data Structures
调整数据结构
The first way to reduce memory consumption is to avoid the Java features that add overhead,
减少内存消耗的第一种方法是避免增加开销的Java功能,
such as pointer-based data structures and wrapper objects. 
例如基于指针的数据结构和包装器对象
There are several ways to do this:
做这件事有很多种方法:
1 Design your data structures to prefer arrays of objects, and primitive types, 
优先选择对象数组和基本类型
instead of the standard Java or Scala collection classes (e.g. HashMap).
而不是标准的Java或Scala集合类(例如HashMap)
The fastutil library provides convenient collection classes for primitive types that are compatible with the Java standard library.
该fastutil 库提供方便的集合类基本类型是与Java标准库兼容。
2 Avoid nested structures with a lot of small objects and pointers when possible.
尽可能避免使用包含大量小对象和指针的嵌套结构
Consider using numeric IDs or enumeration objects instead of strings for keys.
考虑使用数字ID或枚举对象而不是键的字符串
If you have less than 32 GB of RAM, set the JVM flag -XX:+UseCompressedOops to make pointers be four bytes instead of eight.
如果RAM少于32 GB,请设置JVM标志-XX:+UseCompressedOops以使指针为四个字节而不是八个字节
You can add these options in spark-env.sh.
您可以添加这些选项 spark-env.sh。

通过 jinfo -flags pid 可以查看详细信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值