数据分析课程笔记 - 16 - Hadoop & HIVE 入门

大家好呀~今天我们正式进入“大数据分析”阶段。“大数据”这个词一听就很高大上,但是学完这章内容,你应该就能破除对它的神秘幻想。所谓的大数据分析,其实不过就是数据多一点,需求复杂一点,SQL 语句长一点而已。所以千万不要怕,只要你 MySQL 部分学会了,这章内容根本难不倒你。

本节课我们主要学习一些大数据分析的概念、平台、工具和底层的一些基础知识。下节课我们才会正式进入实操学习。

本节主要内容:

1、大数据分析简介
(1)什么是大数据
(2)大数据的特征
(3)为什么需要大数据分析
(4)大数据分析的商业驱动因素

2、走进Hadoop
(1)快速认知 Hadoop
(2)HDFS:块级别的分布式文件存储系统
(3)MapReduce:分布式计算框架
(4)YARN:作业调度和资源管理器
(5)Hadoop 生态圈

3、走进Hive
(1)Hive是什么?
(2)Hive与传统数据库的比较
(3)Hive的数据类型

4、拓展知识
(1)CentOS7系统的基本常识
(2)常用的Linux命令

一、大数据分析简介

1、什么是大数据?

大数据 这个名词是近年来伴随着以 Hadoop 为代表的⼀系列分布式计算框架的产生才流行起来的。大数据带来的挑战包括数据分析、数据捕获、数据治理、搜索、共享、存储、传输、可视化、查询、更新和信息安全等。术语大数据通常指的是应用预测分析,用户行为分析,或者某些其他从数据中提取有价值信息的高级数据分析分法,并不是专指某种特定规模的数据集。

以上是维基百科对于大数据的定义。大家了解一下即可。

2、大数据的特征

大数据分析的四个特征,简称4V:

  • 数据源和数据种类多样(Variety)
  • 数据产生和处理速度快(Velocity)
  • 生成和存储的数据量大(Volume)
  • 精准性(Veracity)
大数据4V特性

3、为什么需要大数据分析?

任何企业都不能否认数据的重要性。企业一直都在收集大量的历史数据,并将其保存在数据仓库中以便进行分析。企业可以通过分析历史数据来获得新的增长点,这也证明了数据的重要性。由于数据结构和数据规模的特点,使用传统的数据库和方法已经很难有效地对大数据进行分析,因为我们需要新的工具和技术来存储,管理和实现数据的商业价值。

4、大数据数据分析的商业驱动因素

商业驱动力 案例
优化业务操作 销售,报价,利润率,效率
识别业务风险 客户流失,欺诈,违约
预测新的商业机会 增值销售,追加销售,最佳的潜在新客户
遵守法律或法规要求 反洗钱,公平信贷

二、走进 Hadoop

1、快速认知Hadoop

  1. Hadoop是Apache基金组织下的⼀套开源软件平台。
  2. Hadoop提供的功能:利用服务器集群对海量数据进行分布式处理。
  3. Hadoop的核心组件:HDFS、MapReduce、YARN、Hadoop基础功能库。
  4. 广义上来说,Hadoop通常指的是指⼀个更广泛的概念→Hadoop生态圈。

2、HDFS:块级别的分布式文件存储系统

第一次看到这个词我也很懵,什么是“块级别”?什么是“分布式”?后来经过老师的讲解,我差不多有了一些概念。

我们电脑里面数据是以单个文件为单位存储在磁盘里的。而在 Hadoop 中,文件的存储是由 HDFS 这个组件来负责的,它将文件以块为单位分布式地存储在多个服务器中。一个块的大小默认为128M。

假如我们现在有五台服务器,有一个200M的文件,那么HDFS会把这个文件分成两块,一块是128M,一块是72M。并且它会给每一个块复制三份,随机地存储在这五台服务器中。

如果其中任意一台服务器出问题,那么HDFS组件会迅速地用别的服务器复制一份拷贝,使得每个块时刻保持三份拷贝。

当任何一台服务器需要用这个文件的时候,如果它本身没有这个文件的任何一个块,或者只有其中一个块,它会从其他服务器中进行拷贝,合并成完整的文件进行使用。

更深入和细节的理解大家可以参考这篇文章:
https://blog.csdn.net/sjmz30071360/article/details/79877846

3、MapReduce:分布式计算框架

MapReduce是采用一种分而治之的思想设计出来的分布式计算框架。假如一个复杂的计算任务,单台服务器无法胜任时,可以将这个大任务切分成一个个小的任务,小任务分别在不同的服务器上并行的执行;最终再汇总每个小任务的结果。

MapReduce 由两个阶段组成:Map阶段(切分成⼀个个小的任务)、Reduce阶段(汇总小任务的结果)。

MapReduce

4、YARN:作业调度和资源管理器

YARN 通俗理解就是服务器的“监工”,负责监控每台服务器的状态,并且给服务器安排和分配任务。

5、Hadoop 生态圈

Hadoop生态圈

三、走进 HIVE

1、Hive是什么?

HIVE 是基于 Hadoop 的开源的数据仓库工具,用于处理海量结构化数据。

Hive把HDFS中结构化的数据文件映射成数据表。

Hive通过把HiveSQL进行解析和转换,最终生成一系列在hadoop上运行的mapreduce任务,通过执行这些任务完成数据分析与处理。

HiveSQL和MySQL一样,都遵循着SQL的标准,因此它们很多语句都是一样的。

Hadoop和hive

2、Hive与传统数据库的比较

Hive RDBMS
查询语言 HQL SQL
数据存储 HDFS Raw Device or Local FS
执行 MapReduce Executor
执行延迟
处理数据规模
索引 0.8版本后加入位图索引 有复杂的索引

说明:

  1. 数据仓库/数据库都是用来做数据存储和数据分析的,对企业中的决策起到关键性的作用。
  2. 关系型数据库容易遇到可拓展性瓶颈,进行向上拓展通常意味着要购买性能更强劲的硬件设备。
  3. Hadoop很容易进行集群的横向拓展,便捷地进行节点的退役与服役。
  4. 数据仓库中的历史数据一般不会改变,因为其主要用来记录已经发生的事实的数据。
  5. 面向事务的联机事务处理OLTP vs 面向分析的联机分析处理OLAP。

3、Hive的数据类型

(1) 基本数据类型

Hive基本数据类型

(2) 复杂数据类型

Hive复杂数据类型

四、拓展知识

1、CentOS7系统的基本常识

  1. CentOS7是⼀个Linux操作系统,能够同时登陆多个用户。这些用户的文件互不相通。
  2. Linux系统中,我们通过命令来和主机进行交互。
  3. root用户是Linux系统中的超级管理员。我们⼀般使用普通的用户进行操作。
  4. 普通用户的操作受到很多限制,各个用户之间有⼀层权限保证操作的安全性。
  5. 学习好linux系统,关键是掌握命令的使用。命令的基本格式:命令 -选项 参数。

2、常用 Linux 命令

这些命令之前学过《笨办法学Python3》的同学应该已经很熟悉了,可以再复习一下哈~

cd:切换目录,进入到某个目录
1. cd /etc/ 表示进入/etc这个目录中
2. cd ../ 表示返回上一级目录
3. cd 进入当前用户的家目录
su - 用户名:切换用户
查看当前所在的目录路径:pwd
ls:列出目录下的文件
ll:列出目录下的文件
ifconfig:查看网卡的配置信息
mkdir:新建一个目录/文件夹
touch:新建一个文件
vim:文件编辑器
1. 一般模式
2. 插入模式
3. 命令模式
rm -rf 文件:删除文件/目录

好啦,以上就是这节大数据分析入门课的全部内容啦,欢迎大家一起加入大数据分析的世界,一起加油吧~

你可能感兴趣的:(数据分析课程笔记 - 16 - Hadoop & HIVE 入门)