购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

任务1.1
需求分析与架构

任务描述

随着信息全球化,互联网已经融入社会生活的方方面面,深刻改变了人们的生产和生活方式。我国正处在信息化浪潮之中,受到的影响越来越深。

基于双向广电有线网络,可深入应用大数据技术,对用户数据进行采集、存储,并以此为基础,进行有效分析与处理,以便及时了解市场需求并为用户提供具有针对性的产品与服务,促进信息互动平台的不断完善,使管道化传输变为平台化传输,使单向传播变为双向互动,从而真正实现广电有线网络用户从看电视到用电视的转变,推动广电行业进一步发展,也可为社会信息化、政府信息化等提供全面支撑。

本任务的目的是对广电公司的需求进行分析,并结合大数据技术为广电公司用户数据的存储与分析提供解决方案,同时对大数据技术进行简要介绍。

1.1.1 业务需求分析

大数据技术涵盖数据存储、处理、应用等多方面的技术。大数据的处理过程可分为数据采集、数据预处理、数据存储、数据分析、数据应用等5个环节。大数据技术在广电有线网络的生产运营、用户服务、运营管理等业务中发挥着重要作用。

首先,各广电有线网络公司可充分利用其地缘优势、数据优势,推动数据后台的对接,实现广电有线网络的大数据共享。其次,针对广播电视家庭用户的使用习惯进行分析,分析其中可能存在什么样的个体,通过对不同个体在不同时段的行为进行记录和分析。利用大数据技术,可关联外部数据和应用数据,对业务运营尤其是个性化推荐进行辅助支撑。最后,在用户画像分类和产品分类标签的基础上判断用户喜好,预测用户可能的行为,根据相关算法进行内容推荐。

可通过收视行为分析、用户活跃度分析,对用户服务进行分级定义,挖掘、分析用户相关数据,然后对用户数据进行标签化处理,建立用户画像模型,并提供标签的增加和删除功能。以此为基础建立分类模型,预测用户是否值得挽留,并将预测结果作为用户画像的标签。通过数据建立用户分类模型,一方面可以给用户提供更好的服务,另一方面可以进行用户流失预测,从而支撑用户挽留工作,最终提高用户黏度,为广电业务的开展和拓展提供有力支撑。

全书主要处理流程如图1-1所示。首先收集用户基本数据、用户状态变更数据、账单数据、订单数据、用户收视行为数据等诸多相关数据,并将其存入Hive数据仓库。在此基础上,实现用户基本数据简单查询、账单与订单数据查询进阶和用户收视行为数据查询优化,并进行数据清洗与导出等工作。最后,在编程开发环境中实现数据存储、数据查询、数据清洗的程序开发。

图1-1 全书主要处理流程

1.1.2 大数据存储技术架构

业务需求分析需要通过大数据存储与处理等技术实现,因此本小节将介绍大数据存储技术与常见的开发语言。

1.大数据存储技术

在对广电公司用户相关的海量数据进行分析前,需要考虑采用何种存储技术保存数据,以便后续的数据查询和分析。因此,需要先了解大数据的几类主流的存储技术。

在大数据应用中,对海量数据进行采集、清洗后,开发人员需要确定可以将数据长期进行保存的存储方式,同时应考虑一种组织管理数据的方案以便在业务中查询使用,最后需要权衡是否使用内存存储和处理方式提高大数据存储的性能。目前大数据存储产品较多,既有商用的GBase系列数据库产品、Amazon S3和EMC系列产品,也有开源的OceanBase、Swift、Alluxio、HDFS、HBase和Hive等。常见的存储产品的简介及优缺点对比如表1-1所示。

表1-1 常见的存储产品的简介及优缺点对比

续表

续表

从表1-1中可知,S3存储形态能够方便地进行扩展,以适应大量用户高并发访问的场景,但是不支持随机位置读、写操作,只能读取、写入或覆盖整个文件。Hadoop分布式文件系统(Hadoop Distributed File System,HDFS)是一种易于扩展的分布式文件系统,基于“移动计算比移动数据更经济”的设计理念,可构建在大量廉价机器上,以节约大量建设扩容投资,并具备可靠数据容错能力,能有效减少运营、维护成本。HBase更适合海量数据随机读、写的业务场景,适合存储海量稀疏数据。EMC系列产品支持PB~ZB级各类数据存储,具有较好的数据安全性,但由于是商用产品,故应用成本较高。Swift支持多租户模式,能可靠地存储数量非常多的大小不一的文件,并针对大型文件做优化处理。Alluxio是以内存为中心的虚拟分布式存储系统,核心思想是将存储与计算分离,使Spark等框架更专注于计算,从而达到更高的执行效率。

广电公司用户数据的主要特点是用户量巨大,相关数据文件也非常大,基础数据一经写入,不会被频繁修改,故选用Hadoop开源框架的HDFS和Hive平台作为数据存储、处理平台更合适。

2.常见的开发语言

企业在发展过程中积累了大量的数据,对数据进行专业的分析,能够促进企业更好、更精准地发展,能够有效防范企业经营风险。通过数据分析把看似杂乱无章的数据蕴含的信息进行提炼,总结出所研究对象的内在规律,能够帮助管理者进行判断和决策,以便采取适当策略与行动。在数据分析过程中使用的几种常见开发语言的介绍如下。

(1)R语言

R语言是一门用于统计计算和作图的语言,也是一个数据计算与分析的环境。R语言主要的特点是免费、开源、各种各样的模块十分齐全,R语言的综合R档案网络(Comprehensive R Archive Network,CRAN)提供了大量的第三方包。

(2)Python

Python是一种面向对象、解释型的程序设计语言。Python用在数据分析和交互、探索性计算以及数据可视化等方面都比较方便。Python拥有强大的编程能力,同时具备非常强大的数据分析能力,如果使用Python,能够大大地提高数据分析的效率。

(3)SQL

结构查询语言(Structure Query Language,SQL)是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。SQL是数据方向所有岗位必须掌握的基本语言,其入门较容易。需要掌握的SQL知识点主要包括数据定义语言、数据操纵语言以及数据控制语言。在数据操纵语言中,需要理解SQL的执行顺序和语法顺序,熟练掌握SQL的重要函数,理解SQL各种连接的异同。对开发人员而言,SQL也是数据分析时必须掌握的基本语言。

(4)Java

Java是Sun公司(已被甲骨文公司收购)在1995年推出的一种编程语言,被特意设计用于互联网的分布式环境。Java具有类似于C++语言的“形式和感觉”,但要比C++语言更易于使用,而且在编程时彻底采用一种“以对象为导向”的方式。Java是目前使用最为广泛的网络编程语言之一。Java具有较高安全性,可以在分布式环境中动态地维护程序及类库,当其类库升级之后,相应的程序不需要重新修改、编译,同时Java具有可移植性强的特点,可以跨平台运行。 +ZodhxNOJCeOMo2aiMPuan0ycLJVCvBmYiCnMU7ZDt98CwPN0t3oxeWtwHNNLeNP

点击中间区域
呼出菜单
上一章
目录
下一章
×