初学者,了解大数据、Hadoop、Hive-Day13

本文探讨了大数据的发展历程,重点介绍了Hadoop及其组件HDFS、MapReduce和YARN在大数据处理中的核心作用,同时提到了数据仓库的概念以及Spark、Flink等实时计算框架。文章还概述了Hive作为基于Hadoop的数据仓库工具的特点和使用方法。
摘要由CSDN通过智能技术生成

大数据的概念由来已久。其实,早在1980年,阿尔文·托夫勒在《第三次浪潮》这本书中已经预言了信息时代的到来会带来数据的大爆发,但是当时的技术还不成熟,所以等到几十年后大数据才登上历史舞台。因为技术需要持续的积累才能由量变到质变。大数据到底是什么?研究机构 Gartner 给出了定义,大数据是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。

谈到大数据,不得不提到 Hadoop。Hadoop 起源于 Google 公布的与 GFS(谷歌文件系统)、MapReduce(面向大型集群的简化数据处理)、BigTable(结构化数据的分布式存储系统)有关的三篇论文,正是这三篇论文奠定了大数据发展的基石,Hadoop 的诞生极大地促进了大数据技术的快速发展。

虽然大数据与 Hadoop 关系密切,但 Hadoop 并不等同于大数据,大数据也不是指 Hadoop,大数据代表的是一种理念、一种解决问题的思维、一系列技术的集合,Hadoop 只是其中一种具体的处理数据的技术框架,目前比较流行的 Spark、Flink 等实时计算框架也属于大数据技术。

为了满足企业对于数据的各种需求,需要基于大数据技术构建大数据平台。大数据平台是指以处理海量数据存储、计算及不间断流数据实时计算等场景为主的一套基础设施。典型的大数据平台包括Hadoop、Spark、Flink 以及 Flume/Kafka 等集群。

数据仓库:

是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策。

它通常将来自多个数据源的数据进行整合、存储和管理,以便于数据分析和挖掘。

数据仓库通过数据建模、数据清洗、数据加载等过程构建,并提供高效的数据查询和分析功能。

Hadoop是什么:

Hadoop 是一个开源的分布式计算框架,主要由以下几个重要组件构成:

1. HDFS(Hadoop 分布式文件系统):提供高可靠、高吞吐量的数据存储。

2. MapReduce:一种分布式计算模型,用于处理大规模数据。

3. YARN(Yet Another Resource Negotiator)**:资源管理框架,负责管理和分配计算资源。

Hadoop 被广泛应用于大数据处理、数据存储和分析等领域。

HDFS介绍:

HDFS(Hadoop 分布式文件系统)是 Hadoop 体系中的重要组成部分,分布式存储,解决海量数据的存储。

它具有以下主要特点:

1. 高容错性:通过数据冗余来保证数据的可靠性。

2.高吞吐量:能够处理大规模数据的读写。

3.大规模数据存储:可以存储海量数据。

原理图:

1、客户端将文件拆分成固定大小128M的块,并通知namenode

2、namenode找到可用的datanode返回给客户端

3、客户端根据返回的datanode,对块进行写入

4、通过流水线管道流水线复制

5、更新元数据,告诉namenode已经完成了创建新的数据块,保证namenode中的元数据都是最新的状态

MapReduce:

MapReduce 是 Hadoop 中的另一个核心组件,实现了分布计算,实际上是一种编程模型,由JAVA实现,它主要有以下特点:

1.分布式计算:将计算任务分解为多个子任务在多个节点上并行执行。

2. Map 阶段:对输入数据进行映射处理。

3. Reduce 阶段:对 Map 阶段的结果进行汇总和归约。

4.易于编程:提供了相对简单的编程模型。

原理图:

Yarn:

负责整个集群资源的管理和调度,是Hadoop的一个通用的资源管理系统,(另一种资源协调者)是一种新的 Hadoop 资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处,它主要有以下作用:

1.资源管理:统一管理集群中的计算资源。

2.任务调度:合理分配和调度任务。

3.多应用支持:允许不同类型的应用在集群中运行。

原理图:

HDFS Shell操作:

启动hadoop:

进入虚拟机终端输入指令:start-all.sh

查看HDFS文件系统,HDFS的http控制台对外端口:9870

以下是一些常见的 HDFS Shell 操作:

查看当前目录下的文件和文件夹**:`hdfs dfs -ls`

创建文件夹:hdfs dfs -mkdir <文件夹路径>

上传文件到 HDFS:hdfs dfs -put <本地文件路径> <HDFS 目标路径>

下载文件从 HDFS:hdfs dfs -get <HDFS 文件路径> <本地目标路径>

删除文件或文件夹:hdfs dfs -rm <文件或文件夹路径>

查看文件内容:hdfs dfs -cat <文件路径>

Hive:

1.Hive是基于Hadoop数据仓库的工具。可以将结构化的数据文件映射为一张表,并提供完整的sql查询功能,本质上还是一个文件

2.Hive底层是将sql语句转换为MapReduce任务进行运行

3. Hive本质上是一种大数据离线分析工具

4.Hive学习成本相当低,不用开发复杂的mapreduce应用,十分适合数据仓库的统计分析

5.Hive可以用来进行 数据提取、转化、加载,这是一种可以存储查询和分析存储在hadoop上的数据。

Hive的底层其实仍然是Hadoop的分布式文件系统HDFS和MapReduce,Hive会把sql命令转为底层的MapReduce代码在hadoop上只执行MapReduce程序。

Hive 具有以下一些特点:

  1. 数据存储:可以将数据存储在 HDFS 上。
  2. SQL 语法:支持类似 SQL 的查询语句,方便数据处理和分析。
  3. 扩展性:可以通过扩展集群来处理更大规模的数据。

Hive的HQL(Hive Query Language):

1.HQL-Hive通过类SQL的语法,来进行分布式的计算

2.HQL用起来和SQL非常的类似,Hive在执行的过程中会将HQL转换为MapReduce去执行,所以Hive其实是基于Hadoop的一种分布式计算框架,底层仍然是MapReduce。

Hive启动:

命令行指令:

nohup hive --service metastore &

nohup hive --service hiveserver2 &

以下是一些常见的 HQL 语句示例:

1.创建表:CREATE TABLE table_name (column1 data_type, column2 data_type,...);

2.插入数据:INSERT INTO table_name VALUES (value1, value2,...);

3.查询数据:SELECT column1, column2,... FROM table_name;

4.删除表:DROP TABLE table_name;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值