hive 之 常用基本操作
2024-09-05 12:39:30
show databases; -- 查看所有数据库 use 数据库; -- 进入某个数据库 select current_database(); -- 查看当前使用的数据库 show tables; -- 显示所有表 show tables like '*tb_site*' -- 显示特定表 show partitions 表名; -- 显示表的所有分区 desc tab_name; -- 查看表结构 desc formatted tab_name; -- 查看表结构详细信息(文件地址) 查看表在HDFS中存放的数据文件(hadoop操作):
hdfs dfs -ls hdfs://hadoop001:8020/user/hive/warehouse/tab_name(文件地址) show create table_name; -- 显示创建表的语句 select * from tab_name limit 2; -- 查询前n行 创建分区表:
create table if not exists tab_name(
id int,
name string
)PARTITIONED BY (deal_day string) -- deal_day 分区字段
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\u0001' -- 分隔符
LINES TERMINATED BY '\n' -- 换行符
STORED AS TEXTFILE -- 数据存储格式
LOCATION '/data/tab_name' -- 文件存储地址 create table as select 指定数据存储格式创建表 create table tab_name stored as textfile as
select * from tab_name2 insert overwrite table 覆盖分区式插入数据
注:在表结构发生变化(增加、删除字段)之后,需要删除分区才能更新数据。 insert overwrite table tab_name partition(deal_day='某个分区日期')
select * from tab_name2 自动分区插入数据
insert overwrite table tab_name partition(deal_day)
select id,name,deal_day from tab_name2 alter table table_name rename to new_table_name; -- 重命名表 alter table table_name add columns (newcol1 int comment '备注信息,可忽略'); -- 增加字段 alter table table_name change col_name new_col_name new_type;-- 修改字段 alter table table_name replace columns (col1 int,col2 string,col3 string);-- 删除字段(COLUMNS中只放保留的字段) drop table table_name;-- 删除表 alter table table_name drop if exists partition (deal_day='某个分区日期'); -- 删除分区 drop database if exists db_name; -- 删除库 drop database if exists db_name cascade; -- 强制删除库 drop table if exists table_name; -- 删除表 truncate table table_name; -- 清空表 insert overwrite table table_name select * from table_name where 1=0; -- 清空表 alter table table_name drop partition (deal_day<='某个日期'); -- 删除分区 insert overwrite table table_name select * from table_name where id>='20'; -- 按条件删除数据,删除id小于20的数据,保留id大于等于20的数据 hive -e "sql语句" -- 将查询结果打印在控制台上 hive -e "sql语句" > xxx.txt -- 将查询结果写入到txt文件中
最新文章
- PHP 信号管理
- Unity学习疑问记录之查找
- JS实现登陆验证的主要代码及思路
- Oracle存在修改,不存在插入记录
- Puppet3在CentOS6.5集群下的安装
- 第1章 ZigBee协议栈初始化网络启动流程
- Struts2 报 Result 错误
- 关于lnmp下搭thinkPHP无法找到指定静态页面
- mongodb的连接和开启安全验证
- PostMan入门使用教程
- UEFI GPT
- VC版本的MakeObjectInstance把WNDPROC映射到类的成员函数
- pycharm+QT4的helloworld
- php-自动过滤、自动填充、自动验证
- Android艺术开发探索——第二章:IPC机制(下)
- Excel 二维数组(数据块)旋转/翻转技巧
- Java的接口、继承与多态
- 【转载】linux Jumpserver跳板机堡垒机部署安装使用教程
- MySql csv文件导入导出
- Linux:root下的文件-anaconda-ks.cfg详解
热门文章
- 【面试】【Linux】【Web】基础概念
- 【Linux】【Commands】基础概念及常用基础命令
- 【MySQL】学生成绩
- Nginx配置正向代理
- 关于Too many levels of symbolic links和 /usr/bin/env: node: 没有那个文件或目录
- [BUUCTF]PWN5——ciscn_2019_n_1
- 突破类型限制的“数据透视图”(Excel技巧集团)
- java 数据类型:集合接口Collection之List~ArrayList:remove移除;replaceAll改变原有值;sort排序;迭代器listIterator();
- ubuntu上kdump配置:
- MySQL 定时器