3.4.3.1 互联网大数据分析案例
案例背景:对某互联网公司用户行为分析,实时分析大量的数据。
问题解决步骤:
(1)首先提出了测试方案。90 d细节数据约50亿条导入,并定制分析策略。
(2)简单测试。先通过5台PC Server,导入1~2 d的数据,演示如何ETL,如何做简单应用。
(3)实际数据导入。按照提出的测试方案开始导入90 d的数据,在导入数据中解决步长问题、有效访问次数,在几个分组内,停留时间大于30 min。解决HBase数据和SQL Server数据的关联问题。解决分组太多、跨度过长的问题。
(4)数据源及数据特征分析。90 d的数据,Web数据7亿,App数据37亿,总估计在50亿。每个表有20多个字段,一半字符串类型,一半数值类型,一行数据估计2 000 Byte。每天5 000万行,原始数据每天100 G,100 d是10 T的数据。抽取样本数据100万行,导入数据集市,数据量在180 M。50亿数据的若全部导入需要900 G的量,压缩比在11∶1。假设同时装载到内存中分析的量在1/3,那总共需300 G的内存。
(5)设计方案。总共配制需要300 G的内存。
硬件:5台PC Server,每台内存:64G,4CPU 4Core。
机器角色:1台Naming,Map;1台Client,Reduce,Map;其余3台都是Map。
(6)ETL过程(将数据从来源端经过抽取、转换、加载至目的端的过程)。
历史数据集中导入:每天的细节数据和SQL Server关联后,打上标签,再导入集市。
增量数据自动导入:每天导入数据,生成汇总数据。
维度数据被缓存;细节数据按照日期打上标签,跟缓存的维度数据关联后入集市;根据系统配置调优日期标签来删除数据;清洗出有意义的字段。
(7)系统配置。内部管理内存参数等配置。
(8)互联网用户行为分析。
浏览器分析:运行时间,有效时间,启动次数,覆盖人数等。
主流网络电视:浏览总时长,有效流量时长,浏览次(PV)数覆盖占有率,1 d内相同访客多次访问网站,只计算为1个独立访客(UV)占有率等。
主流电商网站:在线总时长,有效在线总时长,独立访问量,网站覆盖量等。
主流财经网站:在线总时长,有效总浏览时长,独立访问量,总覆盖量等。
(9)案例测试结果。
90 d数据,近10 T的原始数据,大部分的查询都是秒级响应。实现了HBase数据与SQL Server中维度表关联分析的需求。预算有限,投入并不大,又能解决Hive不够实时的问题。性能卓越的交互式BI呈现,非常适合分析师使用。(www.xing528.com)
(1)问题提出。利用大数据在医疗服务领域开展疾病预测研究,借助最新大数据技术,呈现身边的疾病信息。人们通过这个疾病预测系统,不仅可以了解当前流行病的态势,还可以看到未来7 d的变化趋势,提前做好预防措施。
(2)数据来源与分析。流行病的发生和传播有一定的规律性,与气温变化、环境指数、人口流动等因素密切相关。每天网民在百度搜索大量流行病相关信息,汇聚起来就有了统计规律,经过一段时间的数据积累,可以形成一个个预测模型,预测未来疾病的活跃指数。
(3)预测应用。预测病种是流感、肝炎、肺结核、高血压、糖尿病、心脏病、艾滋病等13种疾病,覆盖331个地市2 870个区、县,免费提供疾病预测的服务。
(4)流感预测。将数据(如搜索、微博、贴吧)与中国疾控中心(CDC)提供的流感监测数据结合建立预测模型。对比CDC提供的流感阳性率,绝对误差在1%以内的城市占62%,在5%以内的城市占89%。而其他几种疾病依靠百度搜自身数据,用无监督学习模型来预测疾病热搜动态的时空变化。图3-24所示是过去一个时间点流感全国发病预测情况,从图中可以观察到广州、珠海、重庆、成都、深圳等地流感发病较为活跃。
图3-24 流感全国发病预测情况
总之,大数据分析为处理结构化与非结构化的数据提供了新的途径,这些分析在具体应用上还有很长的路要走,在未来的日子里将会看到更多的产品和应用系统在生活中出现。
我们已经走进了大数据时代,挖掘隐含在大数据中的规律和关系是人们的渴望。由于大数据自身隐藏着的价值,在此领域开展相关问题的分析研究,必将产生深远的社会意义和效益,对未来社会的发展也将产生重大的推动作用。因此,通过本章内容的学习,可以学会大数据分析的方法,掌握大数据分析的一般流程与主要技术,为大数据的分析应用贡献力量。
【注释】
1.机器学习(ML)。是一门多领域交叉学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
2.分布式计算。是一种计算方法,和集中式计算是相对的。随着计算技术的发展,有些应用需要非常巨大的计算能力才能完成,如果采用集中式计算,需要耗费相当长的时间来完成。分布式计算将该应用分解成许多小的部分,分配给多台计算机进行处理。这样可以节约整体计算时间,大大提高计算效率。
3.人工智能(AI)。是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。
4.推荐算法。是利用用户的一些行为,通过一些数学算法,推测出用户可能喜欢的东西。
5.商务智能(BI)。是一套完整的解决方案,用来将企业中现有的数据进行有效的整合,快速准确地提供报表并提出决策依据,帮助企业做出明智的业务经营决策。
6.单线程。在程序执行时,所走的程序路径按照连续顺序排下来,前面的必须处理好,后面的才会执行。
7.ZeroMQ。是一个消息处理队列库,可在多个线程、内核和主机盒之间弹性伸缩。ZMQ的明确目标是成为标准网络协议栈的一部分,之后进入Linux内核。
8.ETL。用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。ETL一词较常用在数据仓库,但其对象并不限于数据仓库。
9.O2O。即Online To Offline(在线离线/线上到线下),是指将线下的商务机会与互联网结合,让互联网成为线下交易的平台,这个概念最早来源于美国。O2O的概念非常广泛,既可涉及线上,又可涉及线下,所以通称为O2O。
10.P2P。可以理解为对等网络或对等计算。网络的参与者共享他们所拥有的一部分硬件资源(处理能力、存储能力、网络连接能力、打印机等),在此网络中的参与者既是资源、服务和内容的提供者,又是获取者。
11.超图。是北京超图软件股份有限公司(SuperMap Software Co.Ltd.简称“超图软件”的品牌),中国科学院旗下亚洲著名的地理信息系统(GIS)软件企业。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。