大数据组件架构

1 大数据架构

大数据组件架构_第1张图片

图1 大数据架构

大数据架构分为:数据采集,传输,存储,调度和处理这五个部分.其中包括任务定期执行和任务分配,分别使用Azkaban和Zookeeper.

2 存储

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

2.1 Hadoop

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

  • HDFS
    Hadoop分布式文件系统(Hadoop Distributed File System,HDFS)基于GFS,并提供了一个设计在普通硬件上运行的分布式文件系统.
序号 特点
1 分布式存储和处理
2 Hadoop提供的命令接口与HDFS进行交互
3 内置服务器的名称节点和数据节点可检查集群状态
4 流式访问文件系统数据
5 提供文件权限和验证

HDFS与现有的分布式系统有许多相似之处,但HDFS高度容错并设计成部署在低成本的硬件上,提高了高吞吐量的应用数据访问,并适用于具有大数据集的应用程序.

2.2 HBase

HBase是基于HDFS的分布式面向列的数据库,是一个数据模型,可以提供快速随机访问海量结构化数据,该数据模型定义只能有列族,及键值对,一个表有多个列族及每一个列族可以有任意数量的列,后续列的值连续存储在磁盘上,表中的每个单元格都具有时间戳.用于解决Hadoop只能批量顺序处理数据,对随机读取速度慢的问题.

  • HBase模式
列族 列族 列族
列1 列2 列1 列2 列1 列2
1
2
3

2.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工具无缝对接

2.4 TiDB

TiDB是开源的分布式NewSQL数据库,实现了自动的水平伸缩,强一致性的分布式事务,基于Raft算法的多副本复制等重要NewSQL特性,TiDB结合了RDMBS和NoSQL的优点,部署简单,在线弹性扩容和异步表结构变更不影响业务,真正异地多活及自动故障恢复保障数据安全,同时兼容MySQL协议,降低了迁移成本.

序号 特点
1 SQL支持,TiDB是MySQL兼容的
2 水平线性弹性扩展
3 分布式事务
4 跨数据中心数据强一致性保证
5 故障自恢复的高可用

2.5 Hive

Hive是基于Hadoop的一个数据仓库工具,将结构化的数据文件映射为一张数据表,并提供类SQL查询功能.

2.6 Oozie

Oozie是管理Hadoop任务的工作流调度程序.

3 传输

3.1 Sqoop

Sqoop将批量结构化数据导入HDFS,Sqoop是基于一个连接器体系结构,支持插件来提供连接到新的外部系统,Sqoop连接器与各种流行的关系型数据库,如MySQL,PostgreSQL,Oracle,SQLServer和DB2,进项交互.

3.2 Flume

Flume用于移动大规模批量流数据到HDFS系统,从Web服务器收集当前日志文件数据到HDFS聚合.

3.3 Kafka

Kafka是消息中间件,但是具备存储功能.

4 资源调度

YARN(Yet Another Resource Negotiation,YARN),是快速,可靠,安全的依赖管理工具,用于分布式框架中的资源管理和作业调度.Yarn最大的特点是执行调度与Hadoop上运行的任务类型无关.

  • 组件
    ResourceManager,NodeManager,ApplicationMaster,Container.

5 数据处理

5.1 Spark

Spark是大规模数据处理的统一分析引擎.

  • 组件
    SparkCore,SparkSQL,SparkStreaming,MLlib,GraphX,BlinkDB和Tachyon.

5.2 Flink

Flink是大数据计算引擎,同时支持批处理和流处理.

Storm

4 可视化

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

你可能感兴趣的:(大数据)