跳转至

广电大数据用户画像 需求分析

背景介绍

新一代信息技术和互联网的迅猛发展,为广电行业带来了前所未有的巨大挑战和重大机遇。 新媒体的飞速发展,对传统媒体造成了巨大冲击,广电公司依靠稀缺资源形成的优势已经逐渐失去。 广电公司具备了获取用户身份数据、实时收视数据的能力,可通过网络终端设备和后台系统采集用户基本数据、用户收视数据、用户订单数据、用户账单数据等。 通过大数据分析,把握广电用户群体的特征和收视行为,了解用户的实际特征和实际需求,并提供个性化、精准化和智能化的推荐服务,以此挽留用户、减少用户的流失。

需求分析与架构 认识Hive

需求分析与架构

业务需求分析 基于双向广电有线网络,可深入应用大数据技术,对用户数据进行采集、存储 以此为基础,进行有效分析与处理 实现广电有线网络用户从看电视到用电视的转变,推动广电行业进一步发展,也可为社会信息化、政府信息化等提供全面支撑。 对广电公司的需求进行分析,并结合大数据技术为广电公司用户数据的存储与分析提供解决方案,同时对大数据技术进行简要介绍。

主要处理流程 大数据的处理过程可分为数据采集、数据预处理、数据存储、数据分析、数据应用

1-1

大数据存储技术架构

大数据存储技术 商用存储 GBase系列数据库产品、Amazon S3和EMC系列产品 开源 OceanBase、Swift、Alluxio、HDFS、HBase和Hive

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

存储产品 简介 优点 缺点
GBase系列数据库产品 该系列数据库产品包含分布式逻辑数据仓库(GBase 8a)、基于共享存储的数据库集群(GBase 8s)、多模多态分布式数据库(GBase 8c)、云原生数据仓库(GBase GCDW)等 具有高可用性和高可靠性。 可扩展性好:支持Master-Slave模式扩展以及支持使用Online Add节点等方式来增强性能。 安全性强:可提供完善的数据库安全方案,包括密文存储、访问权限控制、数据审计等。 体积小,并且Ubuntu平台可免费使用。 可以直接在GBase上运行SQL语句而无须进行太多额外配置 生态环境还较为不成熟,在某些场景下会受到功能缺失的限制
OceanBase OceanBase是阿里巴巴集团自主研发的一款分布式关系数据库管理系统,旨在满足大规模应用与服务的高性能等要求,支持从单台机器到百台机器甚至更多机器的水平扩展,具有海量数据存储和快速查询的能力 高性能:支持自动故障转移、水平和垂直扩展等特性,可以确保24/7无故障运行;采用多核架构实现并行查询,能够快速读取和处理海量数据。全球部署:支持本地化存储和异地多活,可以满足多终端、全网覆盖等要求。开源社区活跃:拥有大量用户社区,支持对产品进行二次开发和个性化定制 运维复杂:需要一定的技术支撑,涉及配置管理、监控和调优等方面,不太适合小规模企业使用。需要专门的技术人员:由于其复杂性较高,需要专业技术人员进行维护和开发。系统学习成本高:相较于传统关系数据库,OceanBase具有更多的新特性和命令,需要用户进行学习和了解
存储产品 简介 优点 缺点
Amazon S3 简称S3,是Amazon公司于2006年针对开发者推出的云存储服务,可减轻开发人员压力,使其专注于上层业务;存储可靠;按用量收费;使用方便 是Amazon AWS云服务体系的一部分,兼容Amazon生态圈的其他服务;重新定义了对象存储;可靠性高,性能优良,易于扩展,方便迁移 非开源、收费较高;不支持随机位置读、写操作,只能读取、写入或覆盖整个文件
EMC系列产品 EMC公司于2008年推出了PB级对象存储平台Atmos;于2010年收购了Isilon,定位PB级文件存储;于2014年推出了ECS,布局ZB级存储。EMC系列产品均可横向扩展。EMC公司市场拓荒早,产品种类全,高端用户多 高端产品与解决方案;可提供较好的数据保护;支持PB~ZB级各类数据存储。兼容EMC VMware、Pivotal、RSA等多款产品;支持Hadoop;支持与S3数据的双向迁移 非开源,需购买价格昂贵的专用硬件
存储产品 简介 优点 缺点
Swift 于2010年加入OpenStack社区,可为虚拟机及计算服务Nova提供镜像存储,是S3的开源实现 属于OpenStack生态圈组件,可兼容CloudStack,支持多租户模式。技术成熟,成功案例多,被设计成一种比较通用的存储产品,能够可靠地存储数量非常多的大小不一的文件 未针对大型文件做优化处理
Alluxio 是以内存为中心的虚拟分布式存储系统,其核心思想是将存储与计算分离 通过数据缓存,提高存储、计算的效率;将存储与计算解耦,架构清晰、简洁 该产品较新,部分功能有待完善;该产品对用户技术积累和研发能力要求较高
存储产品 简介 优点 缺点
HDFS 设计参考Google GFS,于2006年加入Apache社区下的Hadoop项目,是其核心组件之一 拥有强大的数据生态圈,适合大型文件一次写入、长期存储、顺序读取、批处理的场景;成功案例多,优化方案丰富;用户规模庞大,是大数据文件系统事实标准,支持上万个节点的ZB级海量数据存储;具有高容错性;支持多种数据编码 不支持并发写入、文件随机修改;不适合毫秒级低延迟数据访问;不适合小型文件存储
HBase 构建在HDFS之上高性能的大数据列式存储数据库 适合存储海量稀疏数据,可以通过版本检索到历史数据,解决HDFS不支持数据随机查找、不适合增量数据处理、不支持数据更新等问题。常用于存储超大规模的实时随机读写数据,如互联网搜索引擎数据 仅能通过主键或主键范围检索数据,不适合检索条件较多的复杂查询场景
Hive Hive是基于Hadoop生态圈的数据仓库,用于进行数据提取、转化和加载,是一种可以存储、查询和分析存储在Hadoop中的大规模数据的开源产品 封装了调用接口,并提供了类SQL的查询语言,减少了开发人员的学习成本;支持用户自定义函数。适合处理大数据;可扩展性强;容错性强 不支持记录级别的增、删、改操作,延迟较高,不适合实时分析;不支持事务,不适合做联机事务处理;自动生成的MapReduce作业通常情况下不够智能

常见的开发语言

R语言 免费、开源、各种各样的模块十分齐全 Python 数据分析和交互、探索性计算以及数据可视化等方面都比较方便 SQL 入门较容易 Java 具有可移植性强的特点,可以跨平台运行

认识Hive

Hive是基于Hadoop的数据仓库 优点是学习成本低,可以通过类SQL语句实现快速MapReduce统计MapReduce的使用变得更加简单。 Hive十分适合用于对数据仓库中的数据进行统计分析

Hive简介

2007年,Facebook公司(现Meta公司)为了对每天产生的海量网络平台数据进行分析而开发了Hive Hive就成为传统数据架构和Hadoop MapReduce之间的“桥梁”。

Hive的架构

Hadoop生态圈 Sqoop:用于在HDFS和关系数据库之间导入和导出数据。 Pig:用于开发MapReduce作业的程序语言的工具,通过将PigLatin脚本编译成MapReduce任务来实现数据处理和计算。 Hive:用于开发SQL类型脚本进行MapReduce作业的工具,通过将HQL转换为MapReduce任务来实现数据处理。

Hive的主要组件与特性

Hive的架构

1-2

Hive主要组件 访问接口 命令行接口(Command Line Interface,CLI), Hive Web接口(Hive Web Interface,HWI)。 ThriftServer。 元数据存储服务 Hive的元数据存储在关系数据库里,Hive支持的关系数据库有Derby、MySQL等

Hive主要组件 Driver Driver的主要功能是将用户编写的HQL语句进行解析、编译、优化,生成逻辑执行计划,并提交给Hadoop集群进行处理 | 组件 | 说明 | | --- | --- | | 解析器(Parser) | 将HQL转换为抽象语法树 | | 编译器(Compiler) | 将语法树编译为逻辑执行计划 | | 优化器(Optimizer) | 对逻辑执行计划进行优化,形成更优的逻辑执行计划 | | 执行器(Executor) | 将逻辑执行计划切分成对应引擎的可执行物理计划,调用底层执行框架执行 |

Hive设计特性 Hive的特点 HQL与SQL有着相似的语法,大大提高了开发人员的开发效率。 Hive支持运行在不同的框架上,包括YARN、Tez、Spark、Flink等。 Hive支持HDFS与HBase上的即席查询(Ad-Hoc)。 Hive支持用户自定义的函数、脚本等。

Hive设计特性 Hive优点 可扩展。Hive可以自由扩展集群的规模,一般情况下无须重启服务。 可延展。Hive支持用户自定义函数,用户可根据自己的需求来编写自定义函数。 可容错。Hive良好的容错性使得当节点出现问题时HQL语句仍可完成执行。 Hive的适用场景 Hive的最佳适用场景是大数据集的批处理作业

Hive与传统数据库的区别 | 项目 | Hive | 关系数据库 | | --- | --- | --- | | 查询语言 | HQL | SQL | | 数据存储 | HDFS | 块设备、本地文件系统 | | 执行 | MapReduce | 执行器 | | 执行延迟 | 高 | 低 | | 处理数据规模 | 大 | 小 | | 事务 | 0.14版本后加入 | 支持 | | 索引 | 0.8版本后加入 | 索引复杂 |

小结

本章首先阐述了广电大数据用户画像需求分析的背景,由此对当前市场上常见的几种大数据存储产品进行了介绍, 接着从Hive的发展历史、Hive的架构、Hive的主要特点、Hive与传统数据库的区别等方面对Hive进行了深入讲解。