HiveSQL基础Day02

接上文☝️☝️☝️

一、表的分区

意义:大数据开数据量较大,在进行数据查询计算时,需要对数据进行拆分,提升的查询速度

1、分区表的种类

单个分区

多个分区

2、分区表的增删改查

  • 查看分区表的分区信息 show partition 表名
  • 生成分区数据信息 通过insert数据导入,生成对应的数据

通过ADD方法直接指定分区,指定后会在对应表目录下生成分区目录

alter table 表名 add partition(字段名=)

  • 修改分区名称 alter table 表名 partition (旧字段名=) rename to partition (新字段名)
  • 删除分区 alter table 表名 drop partition (字段名=)

二、表的分桶

区别:

分区:将数据拆分不同目录下存储

分桶:将数据拆分不同文件进行存储

使用分桶时=

clustered by(字段) into 桶数量 buckets row format delimited fields terminated by ','

插入原始数据表的数据写入到分桶表

insert into 表名 select *

三、数据文件的读取和写入

1、默认化序列器

字段的处理方法 fields terminated by

数组的处理方法 collection items terminated by

Map的处理方法 map keys terminated by

语句处理:

select split(字段,'-')

select 'map'('name',split(hobby,'-')0)

在进行表定义时指定row format delimited

这几个方法主要对文件数据读取时,方便区分不同数据内容

2、自定义序列化器

可以使用自定义序列化器中提供jar包完成对json数据的处理

可以将json文件中的数据key最为字段,将value值解析为对应的行数据

row format serde 'org.apache.hive.hcatalog.data.JsonSerDe';

四、内置函数

1、定义

是hive提供的函数方法,方便对不同类型的字段数据进行操作

2、字符串操作函数

计算字符串长度 length()

字符串拼接 concat( , )

字符串切割 split(字段,'-') 再用下标取值

字符串截取 substr(字段,1(从一开始),4(四个字符))

字符串替换 regexp_replace(字段,'-','/')

去除前后空格 trim

3、 数值操作函数

    • * / %(取余)

向上取整 ceil

向下取整 floor

次方计算 pow

4、条件判断

1、单条件判断 if()

2、多条件判断 case

when then

end as

3、判断是否为空: nullif(字段1,字段2) 如果相等返回null 不相等返回字段1

相关推荐
围炉聊科技2 小时前
长期免费的数据库方案——零成本基建系列
数据库
AC赳赳老秦3 小时前
公开图片 OCR 数据提取:OpenClaw 合规采集公开信息图,识别文字与表格并转化为结构化数据
java·大数据·前端·数据库·python·php·openclaw
bransyin3 小时前
一个 SQL 字段到底是怎么算出来的?我做了一个能给出“证据”的血缘工具
大数据·sql·ai·血缘
梁辰兴4 小时前
软件工程:数据结构设计
数据库·软件工程·设计原则·设计方法·梁辰兴·数据库结构设计·数据库结构类型
AC赳赳老秦5 小时前
风控岗应用:OpenClaw 采集公开司法与经营异常数据,自动生成企业风险评估报告
大数据·c语言·数据库·人工智能·python·php·openclaw
灯澜忆梦5 小时前
【MySQL18】进阶篇 | MySQL管理
数据库·mysql
zcmodeltech6 小时前
智能制造教学实训沙盘模型多系统协同控制系统设计:基于STM32与Modbus RTU的工业机器人-智慧工厂-数字孪生全场景联动方案
数据库·stm32·嵌入式硬件·机器人·制造·多分类
AI多Agent协作实战派6 小时前
AI多Agent协作系统实战(四十):AI说“没有错误“,系统判了“测试失败“——一个正则的误判
数据库·人工智能
隔窗听雨眠7 小时前
OceanBase接入DeepSeek:数据库与AI的深度融合如何改写企业数据规则
数据库·人工智能·oceanbase
playboy1347 小时前
工作室 NAS 存储故障-办公室所有数据无法访问怎么办
数据库