大数据架构分为:数据采集,传输,存储,调度和处理这五个部分.其中包括任务定期执行和任务分配,分别使用Azkaban和Zookeeper.
数据类型
结构化数据:数据库数据.
半结构化数据:XML数据
非结构化数据:word,PDF,文本,媒体日志.
大数据相关操作:
数据采集,策展,存储, ,分享,传输,分析,展示.
Hadoop是Apache的大数据集处理的开源框架.Hadoop执行批量处理,并且只能以顺序方式访问数据,意味着必须搜索整个数据集,即使最简单的搜索任务,当处理结果在另一个庞大的数据集,也是按照顺序处理大数据集.
序号 | 特点 |
---|---|
1 | 分布式存储和处理 |
2 | Hadoop提供的命令接口与HDFS进行交互 |
3 | 内置服务器的名称节点和数据节点可检查集群状态 |
4 | 流式访问文件系统数据 |
5 | 提供文件权限和验证 |
HDFS与现有的分布式系统有许多相似之处,但HDFS高度容错并设计成部署在低成本的硬件上,提高了高吞吐量的应用数据访问,并适用于具有大数据集的应用程序.
HBase是基于HDFS的分布式面向列的数据库,是一个数据模型,可以提供快速随机访问海量结构化数据,该数据模型定义只能有列族,及键值对,一个表有多个列族及每一个列族可以有任意数量的列,后续列的值连续存储在磁盘上,表中的每个单元格都具有时间戳.用于解决Hadoop只能批量顺序处理数据,对随机读取速度慢的问题.
行 | 列族 | 列族 | 列族 | |||
列1 | 列2 | 列1 | 列2 | 列1 | 列2 | |
1 | ||||||
2 | ||||||
3 |
大数据高效存储格式解决方案.
序号 | 特点 | 描述 |
---|---|---|
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工具无缝对接 |
TiDB是开源的分布式NewSQL数据库,实现了自动的水平伸缩,强一致性的分布式事务,基于Raft算法的多副本复制等重要NewSQL特性,TiDB结合了RDMBS和NoSQL的优点,部署简单,在线弹性扩容和异步表结构变更不影响业务,真正异地多活及自动故障恢复保障数据安全,同时兼容MySQL协议,降低了迁移成本.
序号 | 特点 |
---|---|
1 | SQL支持,TiDB是MySQL兼容的 |
2 | 水平线性弹性扩展 |
3 | 分布式事务 |
4 | 跨数据中心数据强一致性保证 |
5 | 故障自恢复的高可用 |
Hive是基于Hadoop的一个数据仓库工具,将结构化的数据文件映射为一张数据表,并提供类SQL查询功能.
Oozie是管理Hadoop任务的工作流调度程序.
Sqoop将批量结构化数据导入HDFS,Sqoop是基于一个连接器体系结构,支持插件来提供连接到新的外部系统,Sqoop连接器与各种流行的关系型数据库,如MySQL,PostgreSQL,Oracle,SQLServer和DB2,进项交互.
Flume用于移动大规模批量流数据到HDFS系统,从Web服务器收集当前日志文件数据到HDFS聚合.
Kafka是消息中间件,但是具备存储功能.
YARN(Yet Another Resource Negotiation,YARN),是快速,可靠,安全的依赖管理工具,用于分布式框架中的资源管理和作业调度.Yarn最大的特点是执行调度与Hadoop上运行的任务类型无关.
Spark是大规模数据处理的统一分析引擎.
Flink是大数据计算引擎,同时支持批处理和流处理.
Storm
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