一、大数据平台概述
大数据平台通常指利用Hadoop、Spark、Storm、Flink、Blink等分布式、实时或离线计算框架的系统,这些框架可以运行各种计算任务。建设大数据平台的主要目标是支持业务需求,解决现有问题或创造新的商业机会。业务部门可能不会关注具体采用的是大数据技术还是传统数据库技术,而是更多地考虑数据量的大小。当任务运行时间过长,或是计算量过大超出当前技术能力,或需要处理大量半结构化或非结构化数据时,就会考虑使用大数据技术。
二、大数据平台架构设计
1. 大数据平台整体架构
大数据平台的整体架构可以分为七个部分:目录管理、数据集成、数据资产管理、数据管理、数据开发、数据分析和数据共享及数据安全。
- 目录管理:通过整理业务数据,编制和发布数据目录,指导数据接入、管理和开发等工作。
- 数据集成:为大数据平台提供基础服务,集成多种数据接入工具,实现结构化和非结构化数据的汇集,并支持数据预处理。
- 数据资产管理:通过管理数据标准、元数据和数据资源,提升数据资产价值。
- 数据管理:规范数据的生成和使用,持续改善数据质量。
- 数据开发:提供大数据开发、分析和挖掘功能,使非专业人员也能通过图形界面进行数据分析。
- 数据分析:提供多层次的数据分析功能,包括基本查询、交叉汇总、自由钻取和多维分析等。
- 数据共享:实现跨部门、跨格式的数据共享和透明交换。
- 数据安全:通过数据加密、脱敏、备份和日志审计等措施提升安全性。
2. 大数据平台技术架构
大数据平台的技术架构从下至上依次包括数据源层、数据获取层、数据存储层、数据处理层和数据应用层。
- 数据源层:包括非结构化数据(如图片、音频、视频)和半结构化数据。非结构化数据通常保存在数据库的BLOB字段中,而半结构化数据则需要特殊处理。
- 数据获取层:主要功能是收集、聚合、传输和预处理来自多个来源的数据。常用工具有Sqoop、Flume和消息队列(如MQ)等。
- 数据存储层:分为关系数据库和非关系数据库(如NoSQL数据库)。此外,还有分布式文件存储系统,如HDFS和FastDFS,以及全文索引工具如Solr和Elasticsearch。
- 数据处理层:包括离线数据处理和实时数据处理。离线数据处理通常使用HDFS或MPP存储数据,通过MapReduce或Spark进行批量计算;实时数据处理则是即时收集和处理数据。
三、大数据平台系统设计
1. 目录管理系统
目录管理系统用于整理和发布业务数据目录,规划和指导数据采集、处理、管理和共享等工作。
2. 数据采集系统
数据采集系统为大数据平台提供基础支撑,构建高效、易用且可扩展的数据传输通道。
3. 数据资产管理系统
数据资产管理系统主要用于规范数据管理、元数据管理、数据资源管理和数据资产盘点。
- 数据质量管理:包括规则管理、任务配置和检查报告。
- 数据规整管理:涵盖格式转换、字典转换、内容转换和日志记录。
- 数据加工:定义和调度模型。
4. 数据管理系统
数据管理系统用于规范数据生成和使用,改进数据质量,对数据进行加工处理,提升数据价值。
5. 数据共享系统
数据共享系统基于数据资源目录,按照数据交换标准,实现跨部门、跨层级、跨区域的数据共享和交换。
6. 数据开发系统
数据开发系统利用大数据或人工智能算法组件对数据进行分析和挖掘,形成数据服务产品。该系统还包括工程管理、任务调度、资源管理和开发工具等。
7. 数据分析系统
数据分析系统对接各种业务数据库、数据仓库和大数据平台,提供多层次的数据分析功能,包括基本查询、交叉汇总、自由钻取和多维分析等。用户可以通过简单的操作生成分析结果,并使用丰富的图表进行可视化展示。