Hive数仓

Hive数仓分层 hive数仓分层知识点整理 阅读详情

一、分层

理论上分为三层:ODS数据运营层,DW数据仓库层,ADS数据服务层.

数据运营层(ODS):原始数据:

  ODS:Operation Data Store 数据准备区,也称为贴源层。数据仓库源头系统的数据表通常会原封不动的存储一份,这称为ODS层,是后续数据仓库加工数据的来源。

数据仓库层(DW):数据清洗:

  1. DWD:data warehouse details 细节数据层,是业务层与数据仓库的隔离层。主要对ODS数据层做一些数据清洗和规范化的操作。
    数据清洗:去除空值、脏数据、超过极限范围的
  2. DWB:data warehouse base 数据基础层,存储的是客观数据,一般用作中间层,可以认为是大量指标的数据层。
  3. DWS:data warehouse service 数据服务层,基于DWB上的基础数据,整合汇总成分析某一个主题域的服务数据层,一般是宽表。用于提供后续的业务查询,OLAP分析,数据分发等。

数据服务层/应用层(ADS):出报表

  ADS:applicationData Service应用数据服务,该层主要是提供数据产品和数据分析使用的数据,一般会存储在ES、mysql等系统中供线上系统使用。

二、内部表vs外部表

1、内部表

内部表,也叫托管表,是Hive在创建表时的默认表。
特点:在内部表被删除后,表的元数据和表数据都从HDFS中完全删除
建表代码:

create table if not exists 表名(
字段名称 字段类型,
...
字段名称 字段类型
)
comment 表的注释
raw format delimited
fields terminated by '分隔符'  #列以'分隔符'分割
line terminated by '分隔符'   #此分隔符只能是‘\n’,目前hive只支持‘\n’,行分割也是默认‘\n’
stored as 文件存储类型 #常用的存储文件类型:SEQUENCEFILE(二进制序列文件)、      #TEXTFILE(文本)、RCFILE(列式存储格式文件)如果文件数据是纯文本,可以使用STORED AS TEXTFILE。如果数据需要压缩,使用 STORED AS SEQUENCEFILE。

适用场景:
ETL数据清理是用内部表做中间表,清理时HDFS上的文件同步删除
查看所建的表的全部信息----其中Table Type 表示表的类型
(内部表Internal TABLE/Managed TABLE,外部表EXTERNAL TABLE)
在这里插入图片描述
内部表数据存储的位置是hive.metastore.warehouse.dir,如果创建内部表时没有指定location,就会在/user/hive/warehouse/下新建一个表目录

2、外部表

特点:表中的数据在删除后仍然在HDFS中。
如果我们创建一个外部表,在删除表之后,只有与表相关的元数据被删除,而不会删除表的内容。
声明外部表的关键字:external
声明外部表的基本语法:

create external table if not exists 表名(
字段名称 字段类型,
...
字段名称 字段类型
)
raw format delimited

fields terminated by '分隔符'

将数据加载至hive表中

hive> load data local inpath '/opt/student.txt' into table student2;

将外部表删除

hive> drop table student2;

查看HDFS路径下是否保留表数据

[root@master ~]# hadoop fs -cat /data/hive/warehouse/student2/student.txt

在这里插入图片描述
外部表适用场景:
对于恢复误删的数据困难的情况,例如:实时采集的数据
外部表的优点:
可以共享数据,且不加载到hive中,减少数据加载,落地

3、管理表(内部表)与外部表互相转换

查询已有表的类型

hive> desc formatted student;

修改内部表student为外部表

hive> alter table student set tblproperties('EXTERNAL'='TRUE');

修改外部表student为内部表

hive> alter table student set tblproperties('EXTERNAL'='FALSE');

三、分区

静态分区

创建分区表语法

create table stu(id string,name string) partitioned by (month string) row format delimited fields terminated by '\t';

加载数据

hive> load data local inpath '/home/test/stu.txt' into table student partition(classroom='002');
Loading data to table default.student partition (classroom=002)
OK
Time taken: 1.102 seconds

查看分区

hive> show partitions student;
OK
classroom=002
Time taken: 0.071 seconds, Fetched: 1 row(s)

新增分区

alter table salary add partition(data_dt = '2021-07-22');

向分区表插入数据:

insert into salary partition(data_dt='2021-07-19') values ('10001','Eric',150000);

动态分区

启用hive动态分区(之前博客也写过)
在hive会话中设置两个参数:

hive> set hive.exec.dynamic.partition=true;
hive> set hive.exec.dynamic.partition.mode=nonstrict;

不指定具体的学校和班级,让系统自动分配;

hive> insert overwrite table stu01 partition(school,classroom) 
    > select * from stu;

插入数据时字段要对应分区名

insert into student partition(address,school) select name,age,'shanghai' as address,school from stu; 
Hive数仓导入导出 Hive数仓导入导出,分隔符 ​首先看下导出吧,我们准备sql。那么首先我们看到,两张表给运营提供数据。另一方面,让我们看看hive的强大。 先看一下两张表数据量:  select count(dt) from d.d_safedata_base_day             数据量:10836008  select count(dt) from d.d 阅读详情

相关推荐

Hive - 数仓的分层理论

Hive - 数仓的分层理论 大数据职业规划 数据仓库 --> 数据开发 --> 数据挖掘 --> 全栈架构 数据仓库的用途 整合公司所有业务数据,建立统一的数据中心 产生业务报表,用于作出决策 为网站运营提供运营上的数据支持 可以作为各个业务的数据源,形成业务数据互相反馈的良性循环 分析用户行为数据,通过数据挖掘来降低投入成本,提高投入效果 开发数据产品,直接或间接地为公司盈利 数仓运行简图 数仓分层 1. 分层原因 把复杂问题简单化:将复杂的任务分解成多层来完成,每一层只处理

MiaoSO的博客 4002

Hive数据仓库简介

Hive起源于Facebook,Facebook公司有着大量的日志数据,而Hadoop是实现了MapReduce模式开源的分布式并行计算的框架,可轻松处理大规模数据。然而MapReduce程序对熟悉Java语言的工程师来说容易开发,但对于其他语言使用者则难度较大。因此Facebook开发团队想设计一种使用SQL语言对日志数据查询分析的工具,而Hive就诞生于此,只要懂SQL语言,就能够胜任大数据分析方面的工作,还节省了开发人员的学习成本。

W_chuanqi的博客 5638

Hive分层数仓的处理

Hive分层数仓的处理(代码层面) 分层处理 五层分层设计 ODS DWD DWS DWT ADS ODS层 1、创建支持LZO压缩的分区表 2、数据加载 3、脚本语句 DWD层 1、建表 drop table if exists dwd_xxx create external table dwd_xxx( `表字段` 字段类型 COMMENT '字段注释' ) COMMENT '表注释' partitioned by (dt string) --按照时间创建分区 stored as pa

东 982

Hive 数据仓库

Hive 是由 Facebook 开源的一个数据仓库工具,它允许用户使用类 SQL 语句来进行数据的查询、分析以及管理,将结构化的数据文件映射为数据库中的表,并提供了一套完整的机制用于数据的抽取、转换和加载(ETL)操作。本质上,Hive 是把 HQL 语句转化为 MapReduce、Tez 或者 Spark 等计算引擎可执行的任务,从而在 Hadoop 集群上进行数据处理。

szwzwwww的博客 3413

hive+hadoop架构数仓使用

hive数仓里的表有两个维度,元数据(数据表结构)和数据文件,其中元数据存储到MySQL上,数据文件存储到hdfs上。

花菜回锅肉的博客 2065

[离线数仓] 总结三、Hive数仓DIM层开发

DIM层设计要点:(1)DIM层的设计依据是维度建模理论,该层存储维度模型的维度表。(2)DIM层的数据存储格式为orc列式存储+snappy压缩。(3)DIM层表名的命名规范为dim_表名_全量表或者拉链表标识(full/zip)。

weixin_44428807的博客 1249

【Hive】数仓概念介绍和Hive入门操作

数据仓库数据仓库是存数据的,企业的各种数据往里面存,主要目的是为了分析有效数据,后续会基 于它产出供分析挖掘的数据,或者数据应用需要的数据,如企业的分析性报告和各类报表 等。数据仓库是面向主题的数据仓库通过一个个主题域将多个业务系统的数据加载到一起,为了 各个主题(如:用户、订单、商品等)进行分析而建,操作型数据库是为了支撑各种业务而 建立。数据仓库会将不同源数据库中的数据汇总到一起数据仓库中的综合数据不能从原有的数据库 系统直接得到。

康师傅没有眼泪 980

Carsim和Matlab/Simulink联合仿真时Carsim匹配不到Matlab的解决方法

      本人使用Carsim和Matlab/Simulink联合仿真做过用机器学习方法解决ACC和简单换道的仿真,曾将8.02 2016 2018三个版本Carsim反复安装N次,有相同方向的同学或安装过程遇到问题的同学可以加本人qq505625869一起交流经验心得。 一.前言       Carsim是一款很好的联合仿真软件,使用Carsim,可以避免搭建很多非常复杂的动力学模型

Kaikai_Liao的博客 8767

Hive数据仓库

基本使用 sql语言show databases; 查看数据库 ; 不能省略优点:缺点:HIve架构设计特别说明:hive2.2以后版本变化较大,去掉了HWI模块,HiveCLI模式也直接采用了beeline链接从上图可以看出,Hive的体系结构分为以下几部分:Hive 基础应用1。Hive基础概念1.hive 数据模型2。HiveSqlDDL建表说明1 元数据:描述数据的数据2.表分类:主要分内表和外表 1.内表:元数据和数据本身均被Hive管理。删除表则全部删除 2.外表:元数据被hive管理,数据本身

weixin_46579297的博客 6744

HMC5883L磁力计在STM32F4上的I2C驱动与数据校准实战

本文详细介绍了HMC5883L磁力计在STM32F4平台上的I2C驱动开发与数据校准实战。通过解析寄存器配置、数据读取处理和椭圆拟合校准算法,帮助开发者实现精准的地磁测量,特别适用于无人机导航和机器人系统中的航向确定与陀螺仪漂移修正。

2y3u4i5o6p的博客 1037

import-im6.q16: attempt to perform an operation not allowed by the security policy `PS‘ @ error/cons

这六个 policy 是使用 XML 格式描述的安全策略。要将其中的限制注释掉,在每个 policy 开始和结束的标记之间添加注释标记“

m0_60657960的博客 1908

初识Hive数仓——超级详细版

数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。数据仓库的目的是构建==面向分析的集成化数据环境,为企业提供决策支持它出于分析性报告和决策支持目的而创建。MySQL数据库 => 面向事务的集成化数据环境;但是DW则是面向分析的集成化数据环境,主要实现数据的写入与数据分析,很少有数据的修改操作!数据仓库本身并不“生产”任何数据,同时自身也不需要“消费”任何的数据,数据来源于外部,并且开放给外部应用,这也是为什么叫“仓库”,而不叫“工厂”的原因。Hive是基于Hadoop。

m0_66925868的博客 1790

【异常】Claude Code CLI工具 模型加载异常 /init报错排查与完整解决方案 There‘s an issue with the selected model (glm-5). It

此类跨厂商模型配置报错,核心诱因是API生态的兼容性不匹配。优先使用工具原生支持的模型体系,可快速解决90%以上的同类报错;若需跨厂商使用目标模型,需完成API端点、鉴权密钥、模型ID的全链路适配,确保全流程配置合规,即可完成异常修复。

奶爸的编程之路,也就一周冷个三天 3704

Hive数仓:导入、导出表数据

Hive数仓:导入、导出表数据 文章目录Hive数仓:导入、导出表数据实验环境实验内容实验步骤1.点击"命令行终端",打开新窗口2.启动MySQL3.指定元数据数据库类型并初始化Schema4.启动Hadoop5.启动hive6.创建名为dolphin的数据库7.创建表8.导入方式一:本地文件导入到Hive表9.查看数据10.导入方式二:Hive表导入到Hive表11.查看此时testA表的信息12.导入方式三:HDFS文件导入到Hive表13.导入方式四:创建表的过程中从其他表导入14.导出方式一:导出到

shenhao-stu的博客 1552

【华为OD机试】2024年真题C卷(python)-API集群负载统计

【华为OD机试】-API集群负载统计-【华为OD机试】-API集群负载统计:某个产品的 restful API 集合部署在服务器集群的多个节点上,近期对客户端访问日志进行了采集,需要统计各个API的访问频次,根据热点信息在服务器节点之间做负载均衡,现在需要实现热点信息统计查询功能。 restful API 是由多个层级构成,层级之间使用/连接,如 A/B/C/D 这个地址,A属于第一级,B属于第二级,C属于第三级,D属于第四级。 现在负载均衡模块需要知道给定层级上某个名字出现的频次,未出现过用0

u014481728的博客 1491

第一章 DRM 子系统概述:1.2 专栏定位与技术覆盖范围

本专栏系统解析Linux内核DRM图形子系统的核心技术,涵盖GEM对象管理、TTM内存机制、DRM-Fence同步等核心模块,深入剖析DMA-BUF共享、DMA_Resv资源管理等关键技术。通过解读内核源码与用户态接口(libdrm),结合进程管理、匿名inode等底层机制,构建完整的DRM知识体系。专栏兼顾深度与易懂性,辅以实际应用场景分析,既适合图形驱动开发新手入门,也可满足资深工程师进阶需求,帮助读者掌握从内核实现到应用开发的全栈知识。

图形/计算GPU的驱动与虚拟化技术分享园地 3025

11、Hive+Spark数仓环境准备

1)把hive-3.1.3.tar.gz上传到linux的/opt/software目录下2)解压hive-3.1.3.tar.gz到/opt/module/目录下面3)修改hive-3.1.3-bin.tar.gz的名称为hive4)修改/etc/profile.d/my_env.sh,添加环境变量添加内容重启Xshell对话框或者source一下 /etc/profile.d/my_env.sh文件,使环境变量生效。5)解决日志Jar包冲突,进入/opt/module/hive/lib目录。

赞的心路历程 1493

大模型在电力交易功率预测中的应用:短期,超短期,中长期的完整解决方案代码详解

本文介绍了基于大模型的电力交易功率预测系统,该系统覆盖超短期(15分钟-1小时)、短期(1-6小时)和中长期(1天-1月)三个时间尺度。文章详细阐述了数据准备与特征工程,包括多源数据集成和特征重要性分析。在模型构建方面,采用了Temporal Fusion Transformer (TFT)模型进行超短期预测,Informer模型进行短期预测,以及N-HiTS模型进行中长期预测。此外,文章还探讨了概率预测与风险分析,并介绍了模型部署与交易策略集成的实现。最后,文章总结了系统的贡献,并展望了未来发展方向,如市

专注AI大模型,软件混淆,授权 1261

hive数仓乱码MySQL配置问题

hive数仓乱码MySQL配置问题 我使用的是MySQL-server-5.6.45-1.el7.x86_64.rpm MySQL-client-5.6.45-1.el7.x86_64.rpm 安装的mysql。 /usr/share/mysql/my-default.cnf 或者 /usr/my.cnf 拷贝到/etc/etc/my.cnf 1. 编辑/my.cnf配置文件 [client...

weixin_43888899的博客 272

智能家居系统设计:基于MATLAB的智能家居系统设计和仿真,包括智能家居控制、家庭能源管理和家庭安全监控

基于 MATLAB 的智能家居系统设计方法可以有效地解决各类智能家居问题。

走向CTO的路上... 1775

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

hive数仓要点总结

数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、数据集成的(Integrated)、相对稳定(非易失)的(Non-Volatile)、反映历史变化(时变)(Time Variant)的数据集合,用于支持管理决策3.1什么是维度维度就是看问题的角度,给你一个数据表,怎么分析,怎么看就是属于维度范畴比如2025年的订单数据,怎么分析,可以从时间(月份)分析,商品质量分析,用户分析,这个就是维度维度分为定性维度和定量维度。

m0_72898512的博客 880

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Hive数仓操作(十七)

一、Hive 四种存储格式 在 Hive 中,支持四种主要的数据存储格式,每种格式有其特点和适用场景,不过一般只会使用Text 和 ORC 二、Hive 行列存储三、Hive 压缩格式 1. TEXTFILE 压缩算法:可使用 Gzip、Bzip2 等压缩算法。四、Hive 建表手册 创建表的基本语法

m0_58076578的博客 6473

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

HIve数仓新零售项目DWS层的构建(Grouping sets)模型

HIve数仓新零售项目DWS层的构建(Grouping sets)模型

Allen_人工智能与大数据 1919

hive数仓建模使用拉链表的好处及如何构建拉链表

综上所述,Hive数仓建模中使用拉链表的主要原因包括历史数据追踪与快照查询、节省存储空间、查询性能优化、支持复杂的数据分析需求以及易于维护和管理等方面。这些优点使得拉链表成为数据仓库设计中不可或缺的一部分,特别是在处理大规模、高频率更新的数据集时。

qq_58355375的博客 1105

银行HIve 数仓业务承载哪些数据

作为一名经验丰富的开发者,我很高兴能帮助你了解如何实现“银行Hive数仓业务承载哪些数据”。以下是你需要了解的整个流程,以及每一步需要执行的操作和代码。 银行Hive数仓业务承载数据流程 首先,我们来了解整个流程的步骤。以下是一个表格,展示了实现银行Hive数仓业务承载数据的关键步骤: 步骤 描述 代码 1 ...

weixin_37063103的博客 151

Hive数仓ETL过程

Hive数仓ETL过程

qq_35824427的博客 1326
上一篇: LINUX命令之sed
下一篇: 大数据集群启动各种命令
hadoop的大象
博客等级 码龄7年 62粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值