27-数据仓库与Apache Hive-2

发布于:2025-08-06 ⋅ 阅读:(16) ⋅ 点赞:(0)

1.数仓开发语言概述

理论上来说,任何一款编程语言只要具备读写数据、处理数据的能力,都可以用于数仓的开发。比如大家耳熟能详的C、java、Python等;
关键在于编程语言是否易学、好用、功能是否强大。遗憾的是上面所列出的C、Python等编程语言都需要一定的时间进行语法的学习,
	并且学习语法之后还需要结合分析的业务场景进行编码,跑通业务逻辑。
不管从学习成本还是开发效率来说,上述所说的编程语言都不是十分友好的。
在数据分析领域,不得不提的就是SQL编程语言,应该称之为分析领域主流开发语言。

2. SQL语言介绍

 结构化查询语言(Structured Query Language)简称SQL,是一种数据库查询和程序设计语言,
 用于存取数据以及查询、更新和管理数据。
SQL语言使我们有能力访问数据库,并且SQL是一种ANSI(美国国家标准化组织)的标准计算机语言,
各大数据库厂商在生产数据库软件的时候,几乎都会去支持SQL的语法,以使得
用户在使用软件时更加容易上手,以及在不同厂商软件之间进行切换时更加适应,因为大家的SQL语法都差不多。
 select
  列名
  from 
    表名
    where 
     条件 

3.数仓与SQL

大数据数仓领域,很多软件都会去支持SQL语法
1.学习sql成本低
2.sql语言对于数据分析非常友好

4结构化数据

在这里插入图片描述

5.二维表结构

在这里插入图片描述

6.SQL语法的分类

	数据定义语言 DDL
 数据操纵语言 DML
 DDL赋予我们创建或删除表 以及数据库、索引等各种对象 ,不涉及表中的具体操作。
 create database --创建数据库
 create table --创建数据表

DML语法针对于数据表的相关操作
select-- 从数据库表中获取数据
update --更新数据库表中的数据
delete --删除数据库表中数据
insert --向数据库表中插入数据

7.Apache Hive 概述

Apache Hive 是一款建立在Hadoop之上的开源数据仓库 系统,可以将存储在Hadoop文件中的结构化 半结构化数据文件映射成一张数据库表,基于表提供一种类似于SQL的查询模型,称为Hive查询语言(HQL )
用户访问和分析存储在Hadoop文件中的大型数据集.
核心是将HQL转换为MapReduce程序,提交到Hadoop集群中执行。
Hive是由Facebook 实现并开源
在这里插入图片描述

8. 为什么用Hive

使用hadoop mapreduce直接处理数据面临的问题
人员学习成本高 需要掌握java语言
mapreduce 实现复杂的查询开发难度大
使用hive的好处
操作使用类似于SQL的语法 简单 容易上手
减少开发人员学习成本
支持自定义函数
背靠Hadoop ,擅长存储分析海量数据集

9.Hive和Hadoop关系

从功能上讲: 数据仓库,具备两个能力
存储数据
分析数据
Hive具备上述两个能力
Hive借助Hadoop实现了上述两个能力
Hive利用HDFS存储数据
利用MapReduce查询分析数据
Hive最大的魅力值让用户专注于编写HQL,Hive能帮助我们转化成为MapReduce程序完成对数据的分析

在这里插入图片描述

10.模拟Apache Hive 的功能

Hive的理解:
hive能将数据文件映射成一张表吗?这个映射指的是什么?

文件和表之间的对应关系

Hive本身到底承担什么职责?
SQL语法解析编译成为MapReduce程序

在这里插入图片描述

在这里插入图片描述

11.官方架构图

在这里插入图片描述

下一步:
分别启动 node1 node2 node3
测试保证我们的hadoop集群是健康可用的!!!
jps 查看 4 3 2
访问两个web页面让其正常显示!!!


网站公告

今日签到

点亮在社区的每一天
去签到