01概览/构建大数据平台
“大数据”是时下IT行业最火热的词汇之一。最早提出“大数据”时代到来的麦肯锡称:“数据,已经渗透到当今每一个行业和业务职能领域,成为重要的生产因素。”
当下有不少大中型企业已经完成了大数据平台的搭建,很多中小企业,甚至一些政府职能部门也开始投入大数据平台,大数据价值在越来越多的场景中被挖掘,借助开源的力量,大数据平台的搭建门槛也越来越低。任何有基础研发能力的组织完全可以搭建自己的大数据平台。
1 什么是大数据
“大数据”是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。这是研究机构Gartner给出的定义。
大数据具有四个重要特征:
-
数据量大(Volume)
大数据的第一大特征,数据量巨大,TB,PB级
-
类型繁多(Variety)
包括访问日志、音频、视频、图片、电子邮件、地理位置信息等多类型的数据对数据的处理能力提出了更高的要求
-
处理速度快(Velocity)
实时处理、实效性要求高
-
价值密度低(Value)
海量信息,但价值密度较低,如何通过强大的机器算法更迅速地完成数据的价值提取,是大数据时代亟待解决的难题
**2 大数据平台架构
**
大数据平台通常包括采集数据、数据处理、数据共享与数据应用等模块,不同的数据平台根据自身业务的情况可以灵活调整。
一个典型大数据平台架构
A. 数据采集
用户访问线上服务会产生大量的行为日志(如nginx,tomcat访问日志),Flume是一个常用的高可用,高可靠,分布式的海量日志采集、聚合和传输的开源系统。通常根据离线和实时需求,可以利用Flume将各类日志数据同时投递到HDFS或者Kafka。
业务数据库相对访问日志的数据量小很多。对于非实时的数据,一般定时导入到HDFS/Hive中。一个常用的工具是Sqoop,利用Sqoop,数据可以很容易的在HDFS/Hive和关系型数据库(如MySQL,Oracle,PostgresSQL等)之间转移。对于实时的数据,可以采用Canal作为中间件,在不侵入业务的情况下,准实时的获取业务数据(如导入Kafka)并进行后续处理。
B. 数据存储
HDFS(Hadoop Distribute File System),意为Hadoop分布式文件系统。是Hadoop核心组件之一,作为最底层的分布式存储服务而存在。HDFS是分布式计算中数据存储管理的基础,可以运行于廉价的商用服务器上,访问HDFS像访问一个普通文件系统一样简单。
适合场景
-
高容错
-
批量处理
-
海量数据
-
流式访问(一次写入,多次读取;不允许修改,只能追加写)
不适合场景
-
低延时数据访问(做不到毫秒级别读写数据,适合高吞吐率的场景,在某一__时间内写入大量数据)
-
大量小文件(占用大量NameNode)
-
多用户写,随机修改
绝大部分大数据平台,无论上层采用何种的计算引擎,底层的数据存储系统基本还是以HDFS为主。
C. 数据处理
数据处理就是通常说的ETL(抽取、转换、加载),通常需要计算引擎、调度系统、元数据管理。
对于非实时计算来讲,可行的选择是Hive和Spark计算引擎。Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询功能,可以将SQL语句转换为 MapReduce任务进行运行,但是计算速度较慢。Spark是基于内存型的计算,一般认为比MapReduce的速度快很多,但其对内存性能的要求较高。实时计算方面有Spark Stream和Flink。
从稳定的角度考虑,一般使用Hive作为日常ETL的主要计算引擎,特别是对实时要求不高的场景。
调度系统上,可以采用轻量级的Azkaban,Azkaban是由Linkedin开源的一个批量Hadoop工作流任务调度器。
元数据分为业务元数据(设备类型、渠道、品牌等)和技术元数据(如模型说明,字段信息,血缘关系等),一般需要一套管理系统来规划和维护数据服务平台和ETL过程相关的元数据。
D. 数据服务与应用
数据服务层是指把经过加工处理的数据沉淀到业务系统并提供应用层接口,对于企业来说,数据应用就是大数据价值的体现。数据应用包括辅助经营分析的一些报表指标,基于用户画像的个性化推送,还有各种数据分析报告等。
到这里,对大数据平台有初步了解,知道了从数据源到应用要经历什么过程,使用什么组件,但要真正从0到1搭建大数据平台,还不够。想了解更多的读者欢迎留言,或者关注公众号一起探讨。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!