当前位置: 首页 > news >正文

27-数据仓库与Apache Hive-2

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数据操纵语言 DMLDDL赋予我们创建或删除表 以及数据库、索引等各种对象 ,不涉及表中的具体操作。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页面让其正常显示!!!

http://www.lryc.cn/news/611312.html

相关文章:

  • 二维树状数组
  • 机器学习之线性回归与逻辑回归
  • 广州客户 戴尔R720服务器 liunx系统 RAID5无损升级扩容
  • 【递归完全搜索】USACO Bronze 2023 January - 牛栏降温 IIAir Cownditioning II
  • WordPress如何实现隐藏文章部分内容?WordPress无法解析[hide]...[/hide]这类短代码怎么办?
  • 深度清理C盘!adsC盘清理大师实现原理与技术解析
  • 2025《艾诺提亚失落之歌》逆向工程解包尝试
  • 一个小巧神奇的 USB数据线检测仪
  • SpringCloud学习-------Feign详解
  • PageHelper分页插件
  • makefile使用及双向链表
  • 在X86架构Linux中创建虚拟根目录并下载指定架构(如aarch64)的软件包(含依赖)
  • 数字图像处理(冈萨雷斯)第三版:第四章——频率域滤波(学前了解知识)——主要内容和重点
  • 深信服GO面试题及参考答案(下)
  • 数据结构基础:链表(2)——双向链表、循环链表、内核链表
  • GoLand 项目从 0 到 1:第五天 —— 角色权限中间件实现与事务控制
  • 前端工程化:Vue3(二)
  • 贝叶斯统计从理论到实践
  • 自动牙龈边缘识别软件设计与实现
  • Android AppSearch 深度解析:现代应用搜索架构与实践
  • 消息队列疑难问题(RocketMQ)
  • 认识爬虫 —— bs4提取
  • 阿里招AI产品运营
  • 永磁同步电机的矢量控制
  • RK3568下使用Qt 绘制实现实时坐标曲线
  • 【Spring Cloud】-- 注册中心
  • PowerShell 入门2: 使用帮助系统
  • 异或游戏 运算符优先级问题
  • GB28181监控平台LiveGBS如何配置GB28181对接海康、大华解码器上墙,将GB28181平台是视频给硬件解码器解码上墙
  • cJSON库应用