紫云科技

云数据时代引领者

导航

数据处理分析中的性能技巧

      数据处理和分析是一个大数据系统的核心。像聚合,预测,聚集,和其它这样的逻辑操作都需要在这一步完成。

  需要注意的是大数据系统架构有两个组成部分,实时数据流处理和批量数据处理。本节涵盖数据处理的各个方面。

  在细节评估和数据格式和模型后选择适当的数据处理框架。其中一些框架适用于批量数据处理,而另外一些适用于实时数据处理。同样一些框架使用内存模式,另外一些是基于磁盘io处理模式。有些框架擅长高度并行计算,这样能够大大提高数据效率。基于内存的框架性能明显优于基于磁盘io的框架,但是同时成本也可想而知。

  概括地说,当务之急是选择一个能够满足需求的框架。否则就有可能既无法满足功能需求也无法满足非功能需求,当然也包括性能需求。

  一些这些框架将数据划分成较小的块。这些小数据块由各个作业独立处理。协调器管理所有这些独立的子作业?在数据分块是需要当心。

  该数据快越小,就会产生越多的作业,这样就会增加系统初始化作业和清理作业的负担。如果数据快太大,数据传输可能需要很长时间才能完成。这也可能导致资源利用不均衡,长时间在一台服务器上运行一个大作业,而其他服务器就会等待。不要忘了查看一个任务的作业总数。在必要时调整这个参数。最好实时监控数据块的传输。在本机机型io的效率会更高,这么做也会带来一个副作用就是需要将数据块的冗余参数提高(一般hadoop默认是3份)这样又会反作用使得系统性能下降。

  此外,实时数据流需要与批量数据处理的结果进行合并。设计系统时尽量减少对其他作业的影响。

  大多数情况下同一数据集需要经过多次计算。这种情况可能是由于数据抓取等初始步骤就有报错,或者某些业务流程发生变化,值得一提的是旧数据也是如此。设计系统时需要注意这个地方的容错。

  这意味着你可能需要存储原始数据的时间较长,因此需要更多的存储。

 

紫云(深圳)软件有限公司

云数据时代引领者

微信:Chizcloud

微博:http://weibo.com/Chizcloud

官网:http://www.chizcloud.com/

 

posted on 2016-10-17 15:35  紫云科技  阅读(129)  评论(0编辑  收藏  举报