大数据 数据仓库 数据分析 概论

主要技术方案

完全自主搭建、部分采购自云服务商(阿里云、腾讯)

主要概念名词

Hadoop spark hbase Hive
HDFS
yarn资源管理
数据仓库、数据湖、Data Lakehouse
数据可视化、仪表盘:tableau

Hadoop 基础架构

是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),其中一个组件是HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算。另外yarn负责资源和任务管理。

HDFS (Hadoop分布式文件系统)

Hadoop分布式文件系统(HDFS)是指被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统(Distributed File System)。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也是很明显的。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。
采用了主从(Master/Slave)结构模型,一个HDFS集群是由一个NameNode和若干个DataNode组成的。其中NameNode作为主服务器,管理文件系统的命名空间和客户端对文件的访问操作;集群中的DataNode管理存储的数据。

HBase

一个分布式的、面向列的开源数据库。HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。

Apache Spark 计算引擎/通用并行框架

是专为大规模数据处理而设计的快速通用的计算引擎。Spark是开源的类Hadoop MapReduce的通用并行框架,Spark,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是——Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。

Spark 和 Hadoop、HDFS 的关系

Spark基于Hadoop环境,Hadoop YARN为Spark提供资源调度框架,Hadoop HDFS为Spark提供底层的分布式文件存储。

hive 数据仓库工具

能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句(hiveQL)转变成MapReduce任务来执行。
不适合用于联机(online)事务处理,也不提供实时查询功能(hive 在几百MB 的数据集上执行查询一般有分钟级的时间延迟)。 它最适合应用在基于大量不可变数据的批处理作业。hive的特点包括:可伸缩(在Hadoop的集群上动态添加设备)、可扩展(支持用户自定义函数,用户可以根据自己的需求来实现自己的函数)、容错(节点出现问题SQL仍可完成执行)、输入格式的松散耦合。相比直接使用hadoop:学习成本低,项目周期短,直接使用hadoop用MapReduce实现复杂查询逻辑开发难度太大。
用户接口主要有三个:CLI,Client(JDBC/ODBC) 和 WUI(WebGUI、浏览器访问)。
hive 的数据存储在 HDFS 中,大部分的查询由 MapReduce 完成(不包含 * 的查询,比如 select * from tbl 不会生成 MapReduce 任务)。
hive中包含以下四类数据模型:表(Table)、外部表(External Table)、分区(Partition)、桶(Bucket)。
Hive中没有索引(暴力扫描整张表 , 访问数据延迟高;使用MR,并行访问数据)
Hive不支持数据的修改
Hive的计算引擎默认为MapReduce,如果想要用Spark作为Hive的计算引擎,可以参考文章编译Spark源码支持Hive并部署

hadoop  mr    离线
        hive  离线
        hbase 离线 实时
        spark 实时

数据分析的基本过程:

数据来源及数据分析
提出问题、
导入数据、
数据清洗:选择子集、列名命名、缺失数据处理、数据类型转换、排序、异常值处理
构建模型、
数据可视化(matplotib库等、pandas)

实践/环境搭建

参考1 《Hadoop+HBase+Spark+Hive环境搭建》

行业概念

数据仓库

数仓这样的一种数据存储架构,它主要存储的是以关系型数据库组织起来的结构化数据。数据通过转换、整合以及清理,并导入到目标表中。在数仓中,数据存储的结构与其定义的schema是强匹配的。

数据湖

数据湖这样的一种数据存储结构,它可以存储任何类型的数据,包括像图片、文档这样的非结构化数据。数据湖通常更大,其存储成本也更为廉价。存储其中的数据不需要满足特定的schema,数据湖也不会尝试去将特定的schema施行其上。相反的是,数据的拥有者通常会在读取数据的时候解析schema(schema-on-read),当处理相应的数据时,将转换施加其上。

现在许多的公司往往同时会搭建数仓、数据湖这两种存储架构,一个大的数仓和多个小的数据湖。
这样,数据在这两种存储中就会有一定的冗余。

Data Lakehouse

Data Lakehouse的出现试图去融合数仓和数据湖这两者之间的差异,通过将数仓构建在数据湖上,使得存储变得更为廉价和弹性,同时lakehouse能够有效地提升数据质量,减小数据冗余。在lakehouse的构建中,ETL起了非常重要的作用,它能够将未经规整的数据湖层数据转换成数仓层结构化的数据。

解决的问题:

数据重复性
高存储成本
报表和分析应用之间的差异
数据停滞(Data stagnation)
潜在不兼容性带来的风险

存在的问题

大一统的架构缺乏灵活性,难于维护,同时难以满足所有用户的需求
并非现有架构上本质的改进
Lakehouse技术当前尚未成熟

参考

大数据的方向主要分三个:

1. 大数据开发方向:涉及的岗位诸如大数据工程师、大数据维护工程师、数据研发工程师、大数据架构师等;

2. 数据挖掘、数据分析和机器学习方向:涉及的岗位诸如大数据分析师、大数据高级工程师、大数据分析师专家、大数据挖掘师、大数据算法师等;

3. 大数据运维和云计算方向:涉及的岗位诸如大数据运维工程师等。

由此可见,大数据的就业岗位是非常多的,而且三个方向只要精通一门,就能取得非常不错的成绩
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值