APP下载

大数据技术分析与应用案例

2020-06-24包训宇

中国新通信 2020年2期
关键词:大数据分析大数据

摘要:互联网的快速发展带来了海量数据的产生,现如今在生活中,我们无时无刻地创造着网络数据。大数据时代的到来,已经影响了社会生活方方面面,要想把握住信息时代的潮流,我们就应该懂得大数据并且学会利用大数据技术来服务于日常的工作。本文首先说明大数据的价值,其次介绍一些大数据的关键技术,最后结合实际应用案例展现出大数据给我们带来的好处。

关键词:大数据;Hadoop;大数据分析

自2012年开始,“大数据”一词逐渐被人们熟知,这种技术不仅仅是用在互联网领域上,也与人们的实际生活中加速融合。大数据技术的发展与人类社会的进步相辅相成。一方面,人们从传统手工生产方式转向信息自动化生产方式,使得数据来源越来越广泛,促进了海量数据局面的形成;另一方面,人们能够利用大数据技术在错综复杂的信息面前规划、分析并得出真正有价值的结果。大数据时代的到来,让我们每一个人都身处其中,其带来的价值已经不单单是技术层面上的突破与进步,更多的是在与其他领域融合中带来的巨大经济效益和社会效益。那么对于当代社会需要的复合型人才,掌握必要的大数据知识、学会大数据分析本领对今后的日常工作也显得极为重要。本文在此背景下,结合具体应用案例呈现出大数据技术给我们日常工作带来的便捷性。

一、大数据关键技术

想要处理好数以万计的数据信息,就必须要掌握大数据处理技术,而Hadoop就是一种众人熟知的对海量数据进行处理的分布式系统架构。Hadoop框架最核心的技术就是:HDFS和MapReduce。

HDFS就是Hadoop分布式文件系统的英文缩写,在实际应用中通常采用主-从的架构形式。在HDFS集群里,一般采用拓扑结构,即单个中心节点NameNode和多个存储节点DataNode,在中心节点的统一部署管理下,满足对海量数据的存储、增删等要求。

MapReduce,简单来说就是一种分布式离线的计算框架,其采用键值的处理方式来解决大规模集群的数据。其核心思想是用Mapper将一个复杂的项目分解成多个“简单”的小任务,并且能够允许这些小任务并行计算,其次利用Reducer将Map阶段的各种小任务结果进行有目的地汇总一起,从而达到人们所需求的最终结果或者某一状态下的中间结果。

其实Hadoop发展时至今日,已经不单纯是上面两个技术,而是逐渐成为一个Hadoop生态。在Hadoop生态圈里,我们能够利用这些技术轻松的处理TB级别以上的数据量。下面介绍几个经常用到的技术:

Hive是一种数据仓库工具。简单的来说,它能够利用HQL语句实现数据管理工作,因此对于熟悉数据库使用者来说非常友好,这样一来会使得学习成本大大降低。

Yarn是Hadoop的资源管理器。我们可以通过它对资源的使用情况有一个清晰的掌握,监测Mapper下的每一个小任务资源消耗情况,从而起到平衡资源、提高集群利用率。

Flume是一种实时日志收集系统。在其广泛的应用发展下,不仅能够数据收集,还能对信息进行简单的处理并写进接收方。

二、大数据应用——以分析日活跃用户为例

如今人们可以通过使用各种终端设备轻松上网,用户的上网行为都可以被一一记录下来。数据分析师通过后台日志获取用户日常上网的数据,分析用户上网行为之后,能够得出用户上网习惯以及可以定向给用户推送他们喜欢的内容。下面作者对用户登陆某一软件时活跃的情况进行分析,阐述大數据技术是如何应用在实际生活工作中的。

用户通过终端设备登陆软件并进行各种操作时,可以将这些信息和行为都存储在后台日志中,数据分析员可以每天定时清洗这些数据,拿到清洗的数据后存入到HDFS上并建立清洗后的数据表进行分析。技术路线如图1所示。

2.1数据清洗

数据清洗的目的就是要把一些缺省值、异常值或者此次分析不需要用到的数据排除在外。本案例使用JAVA语言,在eclipse工具上编写数据清洗代码。利用Flume技术把日志文件中的数据导入到HDFS中,然后将预处理程序代码打成jar包,再把jar包上传到对应的HDFS节点上,之后编写预处理脚本如下:

以上工作准备就绪后,启动清洗脚本,开始清洗数据。

2.2日活跃用户统计分析

根据关键字段建立数据总表general_log,并一一对应导入数据,至此用户的基本Hive表已经建立。如何分析日活跃用户,那么就再建立一张活跃用户数据表user_active_day。从general_log数据总表的当天分区中,抽取当日的日活用户信息插入日活用户信息表user_active_day(插入的是每个活跃用户当天所有记录中时间最早的那条),主要SQL语句如下:

为了使信息更加清晰明了,我们可以采取多维度分析,创建多维度分析表dim_user_active_day,利用多重insert语法来统计各种维度组合的日活用户数,并插入到dim_user_active_day表的各分区中,得到日活跃用户统计结果如表1所示。

从表1中,我们可以一目了然的得出使用此软件的总用户数量是多少,具体某一城市的用户有多少以及具体某一城市哪一个国家用户有多少的数量,这对今后进一步划分用户、分析用户黏性程度等都提供了便捷性的帮助。此案例中作者使用的数据量仅仅是GB级别,如果是TB、PB级别以上,可想而知工作量的复杂和庞大,因此通过大数据技术的分析,可以让我们在海量数据中快速、准确地获得信息,大大降低了我们日常工作的成本。

三、总结

综上所述,利用Hadoop平台能够对海量数据进行快速简单的处理,方便工作上各种统计分析工作。Hadoop平台本身具有的低成本、高效率、易扩展等优点,已经成为大数据领域发展方向。未来伴随着人工智能、5G通信技术等新型产业的蓬勃发展,大数据引领下的各行各业将全面实现数字经济化。现在我们可以通过学习大数据技术,掌握大数据分析本领,今后将会在各自领域内推动大数据产业进一步发展。

参考文献:

[1]李晓玮.浅谈大数据Hadoop技术[J].电脑知识与技术,2017,13(32):10-11.

[2]李文航,余恒奇.基于Hadoop平台的数据分析和应用[J].微型电脑应用,2019,35(11):134-136+146.

作者简介:

包训宇(1997-),汉,男,江苏徐州人,硕士,研究方向:云计算、大数据分析。

猜你喜欢

大数据分析大数据
面向大数据远程开放实验平台构建研究
面向大数据分析的信息管理实践教学体系构建
传媒变局中的人口电视栏目困境与创新
基于大数据背景下的智慧城市建设研究