网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

Prime_DSC_MentionCalcSpark性能调优

Prime_DSC_MentionCalcSpark系统简介

创新互联公司始终坚持【策划先行,效果至上】的经营理念,通过多达十多年累计超上千家客户的网站建设总结了一套系统有效的全网营销推广解决方案,现已广泛运用于各行各业的客户,其中包括:成都混凝土泵车等企业,备受客户称誉。

实现功能 : 根据条件(siteId, startTime, endTime, campaignId, folder)从HBase数据源中读取文本数据作为输入,把提交的关键词作为条件,输出在文本中关键词提及的次数

存在问题 : 对于大数据量的计算时间较长.

解决思路 : 

  1. 把HBase结果反射成TweetBean修改成TweetBean的setXXX的方式构造TweetBean

    1. 当有5W条数据,通过反射转成TweetBean需要60s,通过TweetBean的setXX的方法需要20s

  2. 把读取HBase的所有字段改成读取HBase的需要的字段

    1. 当有5W条数据,读取所有字段时需要60s,读取需要的字段需要25s

  3. 从UC取DC数据时,不使用map函数,替换成mapPartition函数,这样使用可以从HBase批量取数据,仅需要一次HBase连接即可

  4. 存储计算结果,使用foreachPartition函数. 当遍历Iterator时不是每次在循环里面都存储计算结果,而是在循环外面维护队列,批量存储结果

  5. 根据Spark集群资源,合理利用Spark集群的资源,如资源越多,集群计算能力越强.而比较合理的机器资源和任务并行度的关系是 : 任务数 = 机器CPU核数 * (2 或者 3), 所以设置RDD的分区数为集群CPU核数 * 2

  6. 从HBase读取数据的并行度跟表的region数相关.默认情况下,建表时只有一个region,而当region越来越大时,需要split成两个region,region越多split的阈值越大,导致很多数据都存在一个region中.此时如果需要查询一张表,假设该表有5个region,则会有5个线程同时查询5个region的数据,但是如果其中一个region很大,是其他region的10倍,则该region的读取是其他region读取性能的10倍,导致整个任务的delay. 解决该问题的方法可以先通过预分区和对rowkey使用hash/MD5等算法使数据均匀的分布在各个region,这样在读取数据时可以根据数据均匀分配而更好的并发读取数据.


名称栏目:Prime_DSC_MentionCalcSpark性能调优
转载来于:http://bjjierui.cn/article/jgjsei.html

其他资讯