概述
1 大数据组件架构
大数据架构分为:数据采集,传输,存储,调度和处理这五个部分.其中任务定期执行和任务分配,分别使用Azkaban和Zookeeper,大数据平台整体架构如图1所示,由图1可知,大数据平台的基础是服务器(硬件),所有计算机相关的服务均是基于服务器(或主机),服务器是一切服务和数据的根本,用于存储、通信、提供服务等等,在服务器中部署数据存储服务,如MySQL、Hive等数据结构工具,在服务器中存储的数据是无“生命”的,当服务器存储了海量数据,并需要分析数据时,通过Hadoop构建大数据平台,使这些无“生命”的数据“复活”,然而,通过MySQL等工具存储的数据不能直接被Hadoop利用,需要利用如Sqoop、Kafka和Flume等数据传输工具将海量的数据传输到Hadoop的文件系统HDFS中,存储到HDFS中的数据经过HBASE和YRAN标准化数据,供分析随时调用,数据处理使用Spark和Flink,实现数据实时处理。当进行分布式部署大数据集群时,使用ZooKeeper维护集群,任务调度使用Azkaban完成。
2 大数据工具架构
大数据工具及相关功能如图2所示。
3 数据存储
数据类型
结构化数据:数据库数据.
半结构化数据:XML数据
非结构化数据:word,PDF,文本,媒体日志.
大数据相关操作:
数据采集,策展,存储, ,分享,传输,分析,展示.
3.1 Hadoop
Hadoop是Apache的大数据集处理的开源框架.Hadoop执行批量处理,并且只能以顺序方式访问数据,意味着必须搜索整个数据集,即使最简单的搜索任务,当处理结果在另一个庞大的数据集,也是按照顺序处理大数据集.
- HDFS
Hadoop分布式文件系统(Hadoop Distributed File System,HDFS)基于GFS,并提供了一个设计在普通硬件上运行的分布式文件系统.
序号 | 特点 |
---|---|
1 | 分布式存储和处理 |
2 | Hadoop提供的命令接口与HDFS进行交互 |
3 | 内置服务器的名称节点和数据节点可检查集群状态 |
4 | 流式访问文件系统数据 |
5 | 提供文件权限和验证 |
HDFS与现有的分布式系统有许多相似之处,但HDFS高度容错并设计成部署在低成本的硬件上,提高了高吞吐量的应用数据访问,并适用于具有大数据集的应用程序.
3.2 HBase
HBase是基于HDFS的分布式面向列的数据库,是一个数据模型,可以提供快速随机访问海量结构化数据,该数据模型定义只能有列族,及键值对,一个表有多个列族及每一个列族可以有任意数量的列,后续列的值连续存储在磁盘上,表中的每个单元格都具有时间戳.用于解决Hadoop只能批量顺序处理数据,对随机读取速度慢的问题.
- HBase模式
行 | 列族 | 列族 | 列族 | |||
列1 | 列2 | 列1 | 列2 | 列1 | 列2 | |
1 | ||||||
2 | ||||||
3 |
3.3 CarbonData
大数据高效存储格式解决方案.
序号 | 特点 | 描述 |
---|---|---|
1 | 列式存储 | 高效的列式数据组织,区别于行存,可实现列剪裁和过滤下压,使OLAP查询性能更高 |
2 | 丰富的索引引擎 | 支持全局多维索引,文件索引,Min/Max,倒排索引等多种索引技术,从表级,文件级和列级多个层级快速定位数据,避免SQL-on-Hadoop引擎常见的"暴力扫描",从而大幅度提升性能 |
3 | 全局字典编码 | 包括常见的Delta,RLE和BitPacking等编码,应用全局字典编码来实现免解码计算,计算框架可以直接使用经过编码的数据来聚合,排序等计算 |
4 | 自适应类型转换 | 针对分析型应用中大量使用的数值类型(Double/Decimal/Numerical/BigInt)实现存储内数据类型转换,配合列式数据压缩,使压缩更加高效 |
5 | 标准SQL和API | 在SparkSQL基础上,支持标准SQL99/2003,支持批量数据更新,删除,适用于OLAP场景下数据的周期性刷新,如拉链表更新,维表数据同步,提供JDBC/ODBC连接,支持BI工具无缝对接,兼容Spark DataFrame/DataSet |
6 | 数据生态集成 | 支持与Hadoop,Spark等大数据生态集成,支持和商业BI工具无缝对接 |
3.4 TiDB
TiDB是开源的分布式NewSQL数据库,实现了自动的水平伸缩,强一致性的分布式事务,基于Raft算法的多副本复制等重要NewSQL特性,TiDB结合了RDMBS和NoSQL的优点,部署简单,在线弹性扩容和异步表结构变更不影响业务,真正异地多活及自动故障恢复保障数据安全,同时兼容MySQL协议,降低了迁移成本.
序号 | 特点 |
---|---|
1 | SQL支持,TiDB是MySQL兼容的 |
2 | 水平线性弹性扩展 |
3 | 分布式事务 |
4 | 跨数据中心数据强一致性保证 |
5 | 故障自恢复的高可用 |
3.5 Hive
Hive是基于Hadoop的一个数据仓库工具,将结构化的数据文件映射为一张数据表,并提供类SQL查询功能,通过Hive将HQL转换为MapReduce执行,处理HDFS中的结构化数据。Hive作为HDFS数据处理的中介,通过Hive调用MapReduce功能。
3.6 Oozie
Oozie是管理Hadoop任务的工作流调度程序
4 数据传输
4.1 Sqoop
Sqoop将批量结构化数据导入HDFS,Sqoop是基于一个连接器体系结构,支持插件来提供连接到新的外部系统,Sqoop连接器与各种流行的关系型数据库,如MySQL,PostgreSQL,Oracle,SQLServer和DB2,进项交互.
4.2 Flume
Flume用于移动大规模批量流数据到HDFS系统,从Web服务器收集当前日志文件数据到HDFS聚合.
4.3 Kafka
Kafka是消息中间件,但是具备存储功能.
5 资源调度
YARN(Yet Another Resource Negotiation,YARN),是快速,可靠,安全的依赖管理工具,用于分布式框架中的资源管理和作业调度.Yarn最大的特点是执行调度与Hadoop上运行的任务类型无关.
- 组件
ResourceManager,NodeManager,ApplicationMaster,Container.
6 数据处理
6.1 Spark
Spark是大规模数据处理的统一分析引擎.
- 组件
SparkCore,SparkSQL,SparkStreaming,MLlib,GraphX,BlinkDB和Tachyon.
6.2 Flink
Flink是大数据计算引擎,同时支持批处理和流处理.
Storm
7 可视化
Tableau
PowerBI
FineBI
【参考文献】
[1]https://www.jianshu.com/p/5ea81899c58b
[2]https://www.w3cschool.cn/hadoop/rh161hda.html
[3]http://blog.itpub.net/31077337/viewspace-2213602/
[4]https://www.yiibai.com/hbase/
[5]https://www.w3school.com.cn/tags/att_table_border.asp
[6]http://www.divcss5.com/html/h330.shtml
[7]https://www.yiibai.com/hadoop
[8]https://www.yiibai.com/hadoop/introto-flume-and-sqoop.html
[9]https://www.jianshu.com/p/06fda922b22a
[10]http://www.360linker.com/sj/779.jhtml
[11]https://www.orchome.com/kafka/index
[12]https://www.cnblogs.com/qingyunzong/p/8886338.html
[13]https://mp.weixin.qq.com/s/dQ733gBWlNJJdxFxCaWMfw
[14]https://www.cnblogs.com/qingyunzong/p/8707885.html
最后
以上就是干净蓝天为你收集整理的大数据平台架构1 大数据组件架构2 大数据工具架构3 数据存储4 数据传输5 资源调度6 数据处理7 可视化的全部内容,希望文章能够帮你解决大数据平台架构1 大数据组件架构2 大数据工具架构3 数据存储4 数据传输5 资源调度6 数据处理7 可视化所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复