`

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,这样在读取数据时可以根据数据均匀分配而更好的并发读取数据.

分享到:
评论

相关推荐

    HP_Prime_Virtual_Calculator_2018_02_12

    HP_Prime_Virtual_Calculator_2018_02_12 惠普图形计算器 模拟器 免注册,安装即可使用

    HP_Prime_Calculator_Firmware_20180706_hp_calc_prime_

    2018年7月6日发布的固件版本(HP_Prime_Calculator_Firmware_20180706_hp_calc_prime_)是对该设备软件的重要更新,旨在提升性能、增加新功能并修复已知问题,以确保用户拥有最佳的计算体验。 本次固件更新主要包含...

    PTC_Mathcad_Prime_3.0_F000_SSQ

    PTC_Mathcad_Prime_3.0_F000_SSQ版本,2013年最新的 含有破解文件 可以使用 我已下载试用过

    LynX_Prime_Interface.rar_lynx prime_lynx vega_vega_vega prime_ve

    通过深入研究“LynX_Prime_Interface.pdf”文档,用户不仅可以了解到Vega Prime的每个模块如何运作,还能学习到如何优化配置和整合这些模块,以实现最佳性能。无论你是数据分析新手还是经验丰富的专业人士,这个...

    Crack_Quartus_Prime_Standard_Pro_15.1_Windows

    Crack_Quartus_Prime_Standard_Pro_15.1_Windows quartus15.1破解软件,亲测好用,安全无毒

    QuartusPrime_17_1_std_quartus_quartuslicense_quartusprime_quartu

    标题"QuartusPrime_17_1_std_quartus_quartuslicense_quartusprime_quartu"可能指的是Quartus Prime 17.1标准版,这个版本包含了Quartus Prime的核心组件,如逻辑综合器、适配器、时序分析器等。"quartuslicense...

    SPIKE-PRIME_Full_1.2.1_Global_Win10.exe

    乐高最新编程套件 spike-prime 的安装文件,可以通过模块化编程界面学习python。从官网下载比较慢,放在这里供有需要的人下载,

    5_prime_algorithm_compare.rar_C prime_prime

    "5_prime_algorithm_compare.rar_C _prime_prime"这个压缩包文件涉及到C语言实现的5种不同的算法,用于在N个自然数范围内查找素数,并对它们的速度进行了比较。以下是这5种算法的详细介绍,以及它们在效率上的差异:...

    Quartus_Prime_Standard_Pro_16.0_Windows crack补丁

    Quartus_Prime_Standard_Pro_16.0_Windows crack补丁 Quartus_Prime_Standard_Pro_16.0_Windows crack补丁 Quartus_Prime_Standard_Pro_16.0_Windows crack补丁

    check_prime_number.rar_C++_duggrj_eventuallytpj_prime_triperu

    本项目"check_prime_number.rar"专注于实现C++程序来判断给定的整数是否为素数。 首先,我们需要理解素数的基本概念。素数是自然数的一个子集,如2、3、5、7、11等。2是最小的素数,也是唯一的偶数素数。所有大于1...

    C13883_PRIME_X470-PRO_UM_WEB_180514.pdf

    华硕PRIME X470-PRO主板是一款面向AMD Ryzen系列处理器的高性能主板,它支持一系列功能和技术,以满足高端用户的需要。以下内容将对华硕PRIME X470-PRO主板的特性、其配套的用户手册以及开源软件政策进行详细解析。 ...

    vega prime_4plane

    在这个“vega prime_4plane”项目中,我们关注的是一个基于MFC(Microsoft Foundation Classes)的4通道多平面示例程序。MFC是微软提供的一个C++类库,它封装了Windows API,使得开发者能够更方便地构建Windows应用...

    VegaPrime_MFC

    VegaPrime_MFC是一个基于Microsoft Foundation Class (MFC)框架的示例程序,它为初学者提供了一个深入了解和学习VP(Vega Prime)编程的平台。MFC是微软开发的一个C++类库,用于简化Windows应用程序的开发,尤其是...

    Find_The_Prime.rar_The Prime_prime number vhdl

    本项目“Find_The_Prime.rar_The Prime_prime number vhdl”显然是一个使用VHDL编写的电路设计,其目标是实现一个素数搜寻器。下面我们将深入探讨VHDL编程、素数的概念以及如何在硬件中实现素数检测。 1. VHDL基础...

    prime_number.rar_All Out_Prime number

    标题中的"prime_number.rar"表明这是一个关于质数的压缩包文件,而"All Out"可能意味着该程序或资源全面地处理了质数相关的各种问题。"Prime number"是关键词,直接指出了主题——质数。 在计算机科学和数学领域,...

    WXH_eprime_E-prime情绪图片刺激_eprime图片刺激_

    在本案例中,“WXH_eprime_E-prime情绪图片刺激_eprime图片刺激”标题表明这是一个利用E-Prime进行情绪图片刺激实验的设计。下面将详细阐述E-Prime的基本功能、情绪图片刺激实验的设计原理及其实现方法。 E-Prime是...

    prime_number.rar_prime numb

    在这个名为"prime_number.rar_prime numb"的压缩包中,包含了一个用于判断素数的程序,它可以帮助用户快速地检查输入的正整数是否为素数。 主要的程序文件是`prime_number.cpp`,这是一个C++源代码文件。C++是一种...

    vp.rar_vega 2.2_vega prime 2_vega prime m_visual c_vp1.2

    "vega_2.2"和"vega_prime_2"可能是VEGA软件的两个不同阶段或分支,而"vega_prime_m"可能是指该软件的一个特别针对移动平台或嵌入式系统的优化版本。"visual_c"则表明这些版本与Visual C++相关,这是微软的C++编程...

    Decomposition_prime_factor.zip

    在"Decomposition_prime_factor.zip"文件中,包含的"Decomposition_prime_factor"可能是一个Python脚本或者模块,它可能实现了上述或类似的算法,用于用户输入一个数字后,返回该数字的质因数列表。用户可以通过导入...

Global site tag (gtag.js) - Google Analytics