Trafodion 性能优化之加载数据

Trafodion提供两种加载数据的方式,(1)Trickle Load(使用upsert/insert) (2)Bulk Load。Trickle Load使用HBase的写路径,而Bulk Load直接创建HFiles并放到HBase里面。关于Trickle Load和Bulk Load的介绍,请参考我的另外一篇文章“ Trafodion 数据加载介绍 ”http://blog.csdn.net/post_yuan/article/details/52644900

两种加载方式都可以通过以下方式提升性能,
1. 使用Aligned Format表
2. 加载数据时避免表上有索引

下面是一些针对两种加载方式分别适用的调优原则,

1 Trickle Load

(1) UPSERT USING LOAD速度最快,其次是UPSERT,最后是INSERT。如果是使用ODB,语法loadcmd=UL表示使用UPSERT USING LOAD方式加载。
(2) 如果是持续加载,把MEMSTORE_FLUSH_SIZE调大一些。
(3) 对于窄表,默认的HBASE_ROWSET_VSBB_SIZE可以设大一些,默认值是1024。
(4) 吞吐量随着region服务器的个数线性增长,因此集群规模越大性能越好。
(5) 增加写进程的个数(通过增加esp并发数,如果使用odb工具的话创建多个连接)可以提高吞吐量。ESP并发数可以通过cqd PARALLEL_NUM_ESPS ‘’方式来修改。
(6) 如果使用ODB工具,假设是6个节点的集群,测试过的性能最佳是2个客户端同时加载。
(7) 可以客户允许,设置DURABILITY值为skip_wal。
(8) 减少WAL文件备份数,默认为3,可以减少为2或者1。通过修改hbase.regionserver.hlog.tolerable.lowreplication ‘’实现。
(9) 持续加载后表每个region可能会有几个HFile文件,从而可能需要做compaction动作。HBase根据参数设置触发compaction操作,不过还是建议手动做compaction。
(10) 目前在6个节点集群上做过的测试,对于默认行格式加载性能约16MB/S,对于Aligned Format约21MB/S。

2 Bulk Load

(1) 查找Hive里面最长的字段并使用cqd HIVE_MAX_STRING_LENGTH ‘’,这是一个十分重要的设置。
(2) 如果表有更多的partition,那么吞吐量会更好,因为每个HFile更小且需要排序的行更少(更多的排序并行执行)。增加CPU也是一个不错的选择。
(3) 通过SELECT “SALT”, count(*) from group by 1 order by 2;查看数据倾斜,如果有数据倾斜,就需要考虑换一个不同的Salting key,因为倾斜严重影响数据加载性能 。数据加载的时候,可以通过RMS监控倾斜问题。
(4) Bulk Load对表的每个partition启一个ESP进程,用来排序和写数据,但读取Hive源数据的DOP是可以配置的。默认每个节点分配两个ESP,可以通过cqd HIVE_NUM_ESPS_PER_DATANODE ‘’增加到4或6个。
(5) 加载的flush size可以通过cqd TRAF_LOAD_FLUSH_SIZE_IN_KB来配置,默认是1024=1M。如果集群有内存的话可以增加到10M。
(6) 如果表上面有索引,可以使用cqd TRAF_LOAD_ALLOW_RISKY_INDEX_MAINTENANCE ‘ON’,前提条件是源数据与已加载的数据库表数据没有重复。
(7) 检查scratch空间(影响排序)是否足够。如果每个partition超过2G数据,整个表就有可能出现内存overflow(如果是默认的$MY_SQROOT/tmp)。这可以通过在ms.env中设置STFS_LOCATION修改(:作为分隔符表示多个路径)。
(8) 目前在6个节点集群上做过的测试,对于默认行格式加载性能约80MB/S,对于Aligned Format约84MB/S。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据源的港湾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值