Hive DDL&DML
1.删除分区
ALTER TABLE table_name DROP IF EXISTS PARTITION(dt='')
如果是删除多个分区,用逗号分隔:partition(dt='10'), partition(dt='11'),partition(dt='13')
如果是外部表,记得rm对应文件
2.添加分区
ALTER TABLE table_name ADD IF NOT EXISTS PARTITION(dt='')
添加多个分区用逗号分隔,partition关键字不能少
挂载目录到一个新的分区
alter table table_name add partition(分区字段名=分区数据值) location '路径';
修改分区location
alter table table_name add partition(分区字段名=分区数据值) set location '路径';
3.删除表
DROP TABLE table_name
如果是外部表,记得rm对应文件
4.添加字段
ALTER TABLE table_name ADD|REPLACE COLUMNS (col_name data_type [COMMENT col_comment], ...)
注意:新添加的字段只能添加在最后一个非分区字段的后面
如果想把字段添加在指定字段后面,可以在添加完字段后,使用下面的修改字段命令调整字段的顺序。
5.修改字段
ALTER TABLE table_name CHANGE [COLUMN] col_old_name col_new_name column_type [COMMENT col_comment] [FIRST|AFTER column_name]
6.加载文件数据到数据表中
LOAD DATA [LOCAL] INPATH 'path/file_name' [OVERWRITE] INTO TABLE table_name [PARTITION (partcol1=val1, partcol2=val2 ...)]
local 表示从本地文件系统加载数据文件(cp操作,即把本地文件copy到hdfs上),默认从HDFS上加载(mv操作,完成后原文件不保留)
7.查询结果写入到文件系统
INSERT OVERWRITE [LOCAL] DIRECTORY directory1
[ROW FORMAT row_format] [STORED AS file_format]
SELECT ... FROM ...
默认用^A分隔列
其他:
show databases;
use database_name;
show tables [in database_name];
show partitions table_name;
show create table [database_name.]table_name;
show functions;
desc database database_name;
desc [formatted] table_name
desc function fun_name;
desc function extended fun_name;
truncate table table_name;
drop table_name;
注1:
分区其实就是HDFS上表目录的子目录
bucket就是表目录下的具体文件
注2:
version 0.13.0:
如果字段都是null,则sum后为null
如果字段都是null,count([distinct])结果为0
注3:
hive -e "select * from table_name limit 10"
hive -f file_name 执行file_name中的hivesql
注4:
hive-site.xml: Hive的主要配置文件
hivemetastore-site.xml: 元数据的配置文件
hiveserver2-site.xml: HiveServer2的配置文件
配置优先级(低->高):hive-site.xml ->
hivemetastore-site.xml ->
hiveserver2-site.xml ->
-- hiveconf ->
set
最新文章
- [转载]python gevent
- du df 查看文件和文件夹大小
- Hark的数据结构与算法练习之基数排序
- zepto源码--fragment--学习笔记
- meta 标签 关键字 用处
- [Hadoop源码解读](三)MapReduce篇之Job类
- [liu yanling]规范软件测试流程
- testng跑失败用例重试
- Java系列--第一篇 Maven+Spring+Spring MVC+mybatis 示例
- 如何定制 Calico 的 IP 池?- 每天5分钟玩转 Docker 容器技术(71)
- MAC系统里JDK版本切换
- 【Linux】【MySQL】CentOS7、MySQL8.0.13 骚操作速查笔记——专治各种忘词水土不服
- angular4 使用swiper 首次加载问题(一)
- web实现下拉列表多选加搜索
- spring中@Value(";${key}";)值原样输出${key}分析与解决
- 利用Git hub创建博客
- django之signal机制分析
- MySQL缓存分类和配置
- MySQL一个延迟案例
- Django之ContentTypes