大数据平台架构

1 大数据组件架构

大数据架构分为:数据采集,传输,存储,调度和处理这五个部分.其中任务定期执行和任务分配,分别使用Azkaban和Zookeeper,大数据平台整体架构如图1所示,由图1可知,大数据平台的基础是服务器(硬件),所有计算机相关的服务均是基于服务器(或主机),服务器是一切服务和数据的根本,用于存储、通信、提供服务等等,在服务器中部署数据存储服务,如MySQL、Hive等数据结构工具,在服务器中存储的数据是无“生命”的,当服务器存储了海量数据,并需要分析数据时,通过Hadoop构建大数据平台,使这些无“生命”的数据“复活”,然而,通过MySQL等工具存储的数据不能直接被Hadoop利用,需要利用如Sqoop、Kafka和Flume等数据传输工具将海量的数据传输到Hadoop的文件系统HDFS中,存储到HDFS中的数据经过HBASE和YRAN标准化数据,供分析随时调用,数据处理使用Spark和Flink,实现数据实时处理。当进行分布式部署大数据集群时,使用ZooKeeper维护集群,任务调度使用Azkaban完成。
在这里插入图片描述

图1 大数据架构

2 大数据工具架构

大数据工具及相关功能如图2所示。

在这里插入图片描述

图2 大数据工具

3 数据存储

数据类型
结构化数据:数据库数据.
半结构化数据:XML数据
非结构化数据:word,PDF,文本,媒体日志.
大数据相关操作:
数据采集,策展,存储, ,分享,传输,分析,展示.

3.1 Hadoop

Hadoop是Apache的大数据集处理的开源框架.Hadoop执行批量处理,并且只能以顺序方式访问数据,意味着必须搜索整个数据集,即使最简单的搜索任务,当处理结果在另一个庞大的数据集,也是按照顺序处理大数据集.

  • HDFS
    Hadoop分布式文件系统(Hadoop Distributed File System,HDFS)基于GFS,并提供了一个设计在普通硬件上运行的分布式文件系统.
序号特点
1分布式存储和处理
2Hadoop提供的命令接口与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协议,降低了迁移成本.

序号特点
1SQL支持,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

更新ing

【参考文献】
[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

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天然玩家

坚持才能做到极致

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值