大数据架构
首先从最底层的数据源来讲,大数据包含的数据是各方各面的,所有在数据的来源上也是多种多样的。从种类上来讲大体上可以分为以下几类:
日志数据:应用系统的运行日志,用户访问的行为日志等 DB数据:企业内部业务系统的数据,例如客户管理系统的客户数据,订单系统的订单数据,物流系统的物流数据等 流式数据:简单的理解就是实时采集的数据,源源不断像流水一样产生的数据,例如淘宝上用户的访问记录 互联网数据:互联网数据有两种,一种是自己去采集的数据,一种是跟外部企业合作的数据,例如可以开发爬虫程序去爬取网站上公开的信息,和淘宝京东合作利用客户购买行为数据等 其他数据:还有一些其他方面的数据,例如硬件设备产生的数据,特别是现在IOT物联网的火热,就是将所有硬件设备的数据收集起来进行分析
Sqoop:一款用来在Hadoop(Hive)和关系型数据库之间传输数据的工具,可以将一个关系型数据库中的数据导入到HDFS(Hive)中,也可以将HDFS中的数据导入到关系型数据库中,主要是针对于DB数据源的数据接入。 Flume:一个分布式的、高可靠的、高可用的将大批量的不同数据源的日志数据收集、聚合、移动到数据中心(HDFS)进行存储的系统,主要针对于日志数据的收集和推送到数据仓库,类似的还有ELK体系的Logstash组件。 Kafka:一个分布式流处理平台,用于构造实时流数据管道,它可以在系统或应用之间可靠地获取数据,具有高性能、持久化、多副本备份、横向扩展能力,主要针对于流式数据的接入
说到数据存储,大数据的发展历史离不开一个叫Hadoop的家族产品,可以很直接的这么说,没有Hadoop就没有大数据,国内很多大数据公司一开始建立的数据存储数仓都是基于Hadoop体系建立的,那么Hadoop到底是什么呢?
说到数据存储,不得不说一下数据仓库的架构,不同于传统的业务系统使用的关系型数据库,Hadoop一个分布式文件系统,存储方式是按照文件的存储方式,所以就有了数据仓库架构的说法。
星型:一种使用关系数据库实现多维分析空间的模式,称为星型模式。星型模式的基本形式必须实现多维空间(常常被称为方块),以使用关系数据库的基本功能。
雪花型:当星型模式的维度需要进行规范化时,星型模式就演进为雪花模式。
ODS层:ODS层主要是保存和来源数据一致的格式
- DIM层:DIM层主要用来存储一些基础的维度表,很少会改动
- MID层:MID层主要是用来处理根据业务逻辑和指标口径筛选出来的数据
- DW层:DW层根据主题分类,将数据按照不同的主题建立数据表存储和进行维度化
- DM层:DM层主要是面向应用层的建模,例如一张分析报表需要展示不同维度和指标的分析,那么根据这些维度和指标从DW层的不同主题分类中的数据关联出来,形成一张数据表给报表使用。
java语言
从上文大数据架构来看,java语言主要可以应用于开发数据应用和大数据工具,
【我是蜡笔小添,专注IT前沿技术和科技资讯分享,我@蜡笔小添,我们一起学习交流探讨】