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

Hive数据类型

        原生数据类型

准备数据

查看表信息

加载数据

查看数据

复杂数据类型-数组

准备数据

查看数据

​优化

复杂数据类型-map

准备数据

查看数据

复杂数据类型-默认分隔符

准备数据

查看数据


原生数据类型

准备数据

-- 1 建库
drop database if exists db_1 cascade;
create database if not exists db_1;
use db_1;-- 2 建表
create table tb_archer(id int comment "ID",name string comment "英雄名称",hp_max int comment "最大生命",mp_max int comment "最大法力",attack_max int comment "最高物攻",defense_max int comment "最大物防",attack_range string comment "攻击范围",role_main string comment "主要定位",role_assist string comment "次要定位"
)
comment '射手表'
row format delimited fields terminated by '\t'
;

查看表信息

-- 查看表的信息
desc db_1.tb_archer;-- 查看表的详细信息
desc formatted db_1.tb_archer;

加载数据

方式一:从本地加载到hdfs上

方式二:使用load命令将本地文件传到hdfs上

load data local inpath '/root/honor_of_kings/01_archer.txt' into table db_1.tb_archer_2;

方式三:使用load命令在hdfs上移动文件

-- 方式三:使用load命令将hdfs上的一个文件传到另一个目录下(这个是剪切效果,之前的文件将会没有)
load data inpath '/data/honor_of_kings/01_archer.txt' into table db_1.tb_archer_3;

hdfs没传之前

传之后

查看数据

select * from db_1.tb_archer;

复杂数据类型-数组

使用delimited关建字

row format delimited fields terminated by ',' :每个列之间分割
collection items terminated by '-':集合之间的元素分割
map keys terminated by ':' :键值对之间分割
lines terminated by '\n':每行数据分割

准备数据

-- 创建表
create table db_1.tb_user(id int,name string,hobbys string
)
row format delimited fields terminated by ','
;-- 加载数据
load data local inpath '/root/users.txt' into table db_1.tb_user;-- 查看数据-
select * from db_1.tb_user;

查看数据

通过制定分隔符转化成数组

-- 节选最后一列的爱好
selectid,name,hobbys,split(hobbys, '-'),split(hobbys, '-')[0],split(hobbys, '-')[1],split(hobbys, '-')[2]
from db_1.tb_user;
优化

加上delimited关建字,使用row format delimited来处理单分隔符问题

-- 创建表
create table db_1.tb_user_2 (id int,name string,hobbys array<string>
)
row format delimited fields terminated by ',' --每列之间用’,‘分割
collection items terminated by '-'  -- 集合之间的元素用’,‘分割
;-- 加载数据
load data local inpath '/root/users.txt' into table db_1.tb_user_2;-- 查看数据
selectid,name,hobbys,hobbys[0],hobbys[1],hobbys[2]
from db_1.tb_user_2;

 复杂数据类型-map

准备数据

-- 创建表
create table t_hot_hero_skin_price(id int,name string,win_rate int,skin_price map<string,int>
)
row format delimited fields terminated by ','
collection items terminated by '-'
map keys terminated by ':'  -- 键值对之间用':'分割
;-- 加载数据
load data local inpath '/root/honor_of_kings/02_hot_hero_skin_price.txt' into table t_hot_hero_skin_price;

查看数据

-- 查看全部数据
select * from t_hot_hero_skin_price;

指定数据:查看id=1的“大圣娶亲”和“至尊宝”的皮肤价格。

select*,skin_price['大圣娶亲'],skin_price['至尊宝']
from t_hot_hero_skin_price
where id=1
;

 

 复杂数据类型-默认分隔符

准备数据

-- 创建表
create table tb_team_ace_player(id int,team_name string,ace_player_name string
);-- 加载数据
load data local inpath '/root/honor_of_kings/03_team_ace_player.txt' into table db_1.tb_team_ace_player;

查看数据

select * from db_1.tb_team_ace_player;

 默认分隔符是^A

 

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

相关文章:

  • OSI七层网络模型:构建网络通信的基石
  • MSYS2下载安装和使用
  • 机器学习中的决策树算法——从理论到实践完整指南
  • FFplay介绍及命令使用指南
  • php实现动态登录
  • Servlet2-HTTP协议、HttpServletRequest类、HttpServletResponse类
  • 探索数据的内在世界:sklearn中分层特征聚类标签的可视化技术
  • airtest定位方法
  • 排列组合 n*(n-1)*(n-m+1)
  • Python面试整理-数据处理和分析
  • 职业教育计算机网络综合实验实训室建设应用案例
  • 【Docomo】5G
  • Servlet详解(Servlet源码)
  • 仓颉--接收控制台输入
  • 数据库设计效率提高的5大注意事项
  • C语言笔试题(一)
  • 轻松实现远程智能交互:OriginBot与钉钉和GPT4o的集成指南
  • Qt题目知多少-1
  • nginx的反向代理和负载均衡(seventeen day)
  • BES编译SDK中遇到的perl问题
  • 【康复学习--LeetCode每日一题】3111. 覆盖所有点的最少矩形数目
  • Django实战:开启数字化任务管理的新纪元
  • 史上最全网络安全面试题+答案
  • Python 爬虫入门(五):使用 lxml 解析网页
  • 阿里云RDS到亚马逊云RDS的实时数据同步方案详解
  • 《LeetCode热题100》---<滑动窗口篇两道>
  • Python学习计划——9.1多线程编程
  • 借助 NGINX 对本地的 Kubernetes 服务进行自动化的 TCP 负载均衡
  • 基于python的大学学生影响力分析系统设计与实现
  • upload-labs靶场(1-19关)