236页10万字精选数据中台建设方案2022
发布时间: 2023-07-11

【版权声明】本资料来源网络,知识分享,仅供个人学习,请勿商用。

【侵删致歉】如有侵权请联系小编,将在收到信息后第一时间删除!

完整资料领取见文末,部分资料内容:

目录

1. 数据中台平台建设方案

1.1. 总体建设方案

1.1.1. 大数据平台-TDH

1.1.2. 云操作系统-TOS

1.1.3. 大数据平台产品优势

1.1.4. 大数据平台性能优化

1.2. 大数据集成平台

1.2.1. 数据采集层建设

1.2.2. 数据存储层建设

1.2.3. 数据交换层建设

1.2.4. 数据管理层建设

1.2.5. 资源管理层建设

1.3. 大数据计算平台

1.3.1. 数据计算层建设

1.4. 大数据开发平台

1.4.1. 大数据平台可视化工具

1.4.2. 大数据平台集成能力

1.5. 大数据运维平台

1.5.1. 大数据平台运维

1.5.2. 大数据平台安全性

1.5.3. 大数据平台高可用性

1.5.4. 大数据平台开放性

展开全文

1.5.5. 大数据平台兼容性

1.1. 大数据集成平台

1.1.1. 数据采集层建设

大数据平台需要采集各类内外部数据,形式多样,需支持不同频度、不同形态的数据采集。采集方式包含流方式、批量导入方式、外部数据文件导入、异构数据库导入、主动数据抽取、增量追加方式、网上爬虫方式等,数据形态包括结构化数据、半结构化数据、非结构化数据。

数据采集层负责实现内外部结构化数据、非结构化数据和流数据的自动化采集,遵从统一数据交换架构,完成数据采集相关工具、组件的安装、部署和集成,利用数据调度和采集工具将数据源数据导入大数据基础平台中。

本建设方案满足甲方对于数据采集层建设的基本要求:

利用了FTP/SFTP、Sqoop、Kafka、Flume等开源组件和技术;实现了离线采集和加载、实时/准实时数据同步等功能;遵循了开放性和先进性原则;并且提供了更高效的数据导入工具SQL Bulkload,与关系型数据库准实时同步的工具OGG和ODC,使得数据采集工具更加丰富,数据导入效率更高,时效性更强。可以给甲方后续建设提供更丰富、更多样性的选择。

1.1.1.1. 数据接入多样化

1.1.1.1.1. 结构化数据加载

在Oracle、DB2、Mysql等传统关系型数据库以及MongoDB等NoSQL数据库上的产生结构化数据需要迁移到Hadoop平台上Inceptor表、Hyperbase表或者Search表中进行数据分析或者检索,TDH上支持各类结构化数据的加载,支持灵活通用的数据格式描述,包括数据包含的字段、各字段的分隔符、字段类型等。支持传输的带分隔符的元组序列,每个元组的字段结构相同,由指定的分隔符分隔。支持的字段类型包括:整数(最长8字节)、浮点数、字符串、日期、时间等。在Inceptor中定义相关的表结构,Inceptor中支持整形、浮点数、字符串以及日期和时间等常用的简单字段类型以及Map、Array、Struct等复杂的数据类型。

通过Sqoop生成分布式任务对数据进行高效抽出同步,或者通过TDA组件对关系型数据库中的表进行准实时同步插入更新删除等数据操作;业务平台实时产生的结构化日志或者消息通过Flume分布式日志实时采集工具加载到TDH平台上HDFS、Search、Hyperbase或者Kafka数据队列中;加载到HDFS上的数据,通过Inceptor SQL进行数据处理或者在Discover中进行数据挖掘和机器学习。加载到Hyperbase中的数据可以通过Inceptor进行后模糊或精确匹配的高并发检索查询。加载到Search中的数据可以通过Inceptor进行前模糊、后模糊、范围检索、关键字检索、全文检索等。在千兆网络下,Search的数据入库速度为单节点20000条每秒。

业务系统定义数据格式,数据源(数据库或者结构结构化文件),数据存储端(HDFS、Search、Holodesk、Hyperbase等),数据调度方式,数据同步方式等,TDH上根据定义的数据加载方式为该任务自动配置数据处理的数据源、中间件(Sqoop、TDA、API/REST API、FTPOverHDFS、JDBC/ODBC、Flume或Kafka等)、存储以及处理方式等,启动相应的Oozie工作流任务或者中间件的调度任务,并对数据的加载、传输以及处理入库全流程进行监控和记录。

TDH上支持各类结构化数据的加载,支持灵活通用的数据格式描述,包括数据包含的字段、各字段的分隔符、字段类型等。支持传输的带分隔符的元组序列,每个元组的字段结构相同,由指定的分隔符分隔。支持的字段类型包括:整数(最长8字节)、浮点数、字符串、日期、时间等。在Inceptor中定义相关的表结构,Inceptor中支持整形、浮点数、字符串以及日期和时间等常用的简单字段类型以及Map、Array、Struct等复杂的数据类型。

在负载均衡方面,当一类数据加载量较大时支持由多个加载客户端并行加载。Sqoop,Flume,Kafka等工具均是分布式架构数据采集工具,支持多任务并行执行。Sqoop通过生成并提交MapReduce程序来切分task实现并行执行抽取数据任务;Flume通过分布式架构可以通过定义多个Agent或者多组Source-Channel-Sink组件来实现多个客户端并行加载数据;Kafka通过定义并行收集数据的Kafka Producer或者多个Kafka Producer来对数据进行并行加载。

支持将数据加载到数据库、Hyperbase、总线消息队列、流处理系统以及HDFS上。

Flume支持多个Agent数据传输节点之间以多对一的方式进行数据汇聚,如采集不同服务节点上的同一类日志数据汇聚到同一份文件中,支持一对多的方式数据分发,如将同一份数据通过KafkaSink传输到kafka上导入到Stream中做流式计算,通过HdfsSink传输到HDFS上做数据存储,还可以通过ElasticsearchSink到Search做数据搜索。

分布式数据采集框架Flume集成多种数据源以及数据传输的插件,并通过程序接口可以快速实现相关采集传输数据以及数据计数、数据筛选、数据预处理以及数据流监控等功能。Flume里面的支持自定义插件interceptor对数据进行过滤筛选等,并且在Flume里面,还可以通过KafkaSink将数据流接入Kafka导入到Stream中通过StreamSQL进行数据处理,在这里Flume作为Kafka的一种数据源。

TDH上数据传输工具支持加载数据缓存功能。当目标接收端出现问题时,网络中断或出现阻塞时,支持将加载数据缓存在本地磁盘中,当目标端恢复后继续将数据加载到目标端中。Flume或者Kafka均支持将消息队列缓存在文件系统上,Flume支持failover机制,Kafka通过对数据的多份备份,均对加载的数据有相应的可靠性机制保证数据的安全。

分布式文件系统HDFS与分布式消息队列Kafka均支持断点续传功能的实现,HDFS支持文件中数据的append,并且支持指定offset的数据读取,可以通过对于数据offset的记录实现数据上传下载中断点续传的功能。Kafka中的数据缓存在磁盘上,在消费队列中记录有消息被消费的偏移量offset,因此可以缓存传输中的断点位置来保证数据进行断点续传。

TDH上通过Oozie工作流引擎定制定期作业,通过Sqoop定时将数据库中数据导入到TDH上;离线文件可以通过分布式数据采集组件Flume监控相应的文件目录,定时将数据文件传输到HDFS上或者相应的存储系统中。

在万兆网络的环境下,单台客户端支持的数据加载速度在300MB/s及以上(现场测试结果),可以随集群规模线性扩展直至到达网络传输最大带宽。加载集群对于文本数据的加载总带宽在100Gb/s及以上。单台加载机最大的数据缓存量可以达到TB级。最大可以达到机器存储能力的上限。缓存能力与机器存储能力成线性增长。

1.1.1.1.2. 半结构化数据加载

TDH支持加载各类半结构化数据,支持的类型包括邮件、网页、XML文档,结构化日志中的某些字段等。在TDH上采用Logstash组件对半结构化数据进行加载以及处理,支持自定义输入数据的结构以及输出数据的结构;支持通过Flume自定义数据接口以及数据的简单处理,并将处理后的数据加载到指定的存储端;加载到HDFS上的半结构化数据可以通过Inceptort SQL对其进行结构化加工和处理,Inceptor支持对Json.、XML/HTML、CSV等半结构化数据文件进行直接处理或者查询分析。

在负载均衡方面,当一类数据加载量较大时支持由多个加载客

微信