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
Hive DDL&DML的更多相关文章
- Hive DDL DML SQL操作
工作中经常要用到的一些东西,一直没整理,用的多的记住了,用的不多的每次都是去查,所以记录一下. DDL(数据定义语言),那就包括建表,修改表结构等等了 建表:create hive table hiv ...
- Hive| DDL| DML
类型转换 可以使用CAST操作显示进行数据类型转换 例如CAST(' 转换成整数1:如果强制类型转换失败,如执行CAST('X' AS INT),表达式返回空值 NULL. : jdbc:hive2: ...
- Hive数据据类型 DDL DML
Hive的基本数据类型 DDL DML: 基本数据类型 对于Hive而言String类型相当于数据库的varchar类型,该类型是一个可变的字符串,不过它不能声明其中最多能存储多少个字符,理论上它可以 ...
- hive DDL
官网地址:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL https://cwiki.apache.org/co ...
- Hive 官方手册翻译 -- Hive DDL(数据定义语言)
Hive DDL(数据定义语言) Confluence Administrator创建, Janaki Lahorani修改于 2018年9月19日 原文链接 https://cwiki.apache ...
- 吴裕雄--天生自然HADOOP操作实验学习笔记:hive DDL
实验目的 了解hive DDL的基本格式 了解hive和hdfs的关系 学习hive在hdfs中的保存方式 学习一些典型常用的hiveDDL 实验原理 有关hive的安装和原理我们已经了解,这次实验我 ...
- DDL DML DCL SQL
https://dev.mysql.com/doc/refman/5.7/en/glossary.html#glos_ddl SQL The Structured Query Language tha ...
- ORA-38301:can not perform DDL/DML over objects in Recycle Bin
一个智障操作,drop一个用户,下面的东西比较多,删得比较慢,然后shell突然关了. 就导致了,删不掉,又不能创建新的用户.出版本要得比较急,就先创建新的用户测试去了. 今天要弄个东西,又想起这个事 ...
- MySQL中的DDL,DML
MySQL中的DDL,DMLDDL:数据定义语言: CREATE,ALTER,DROP DB组件:数据库.表.索引.视图.用户.存储过程.存储函数.触发器.事件调度器等 CR ...
随机推荐
- VC,VB程序button、图标样式美化
此处的"美化"指的不是通过代码进行美化你的程序.关于想进一步优化自己的程序界面的,最好还是去了解下SkinSharp吧.本文提及的是利用第三方资源编辑软件在不更改程序不论什么框架和 ...
- php & 和 & (主要是url 问题)
ini_set('arg_separator.output','&'); 也能够在php.ini 改动
- Eclipse + CDT引入OpenCV失败的解决的方法
Android JNI开发中用到了OpenCV,由于想通过JNI实现,就没有去用Android层的Lib引用. 可是操作中发如今.cpp文件中include的时候发现"#include &l ...
- 123 c#调用oracle存储过程返回数据集 --通过oracle存储过程返回数据集
c#调用oracle存储过程返回数据集 2008-12-20 10:59:57| 分类: net|字号 订阅 CREATE OR REPLACE PACKAGE pkg_tableTypeIS ...
- luogu 1121 环状最大两段子段和
题目大意: 一个序列看做一个环 选两段数使它们和最大 思路: 定义一个dp数组i j 0/1 表示前i个取了连续的j段 0/1表示取不取第i个 但是因为看做一个环 首尾相接的情况可以看做是选三段,其中 ...
- 【POJ 1364】 King
[题目链接] 点击打开链接 [算法] 差分约束系统 [代码] #include <algorithm> #include <bitset> #include <cctyp ...
- 33. Extjs中的tree节点的操作
转自:https://blog.csdn.net/masterShaw/article/details/51354351?utm_source=blogkpcl9 ext 树节点操作 tree ...
- lodop 打印
使用Lodop打印: 一.在官网下载http://www.lodop.net/download.html 若是安装还是提示未安装,就按转这个 二.准备两个js 三.需要在页面最上面加入 <htm ...
- /usr/lib64/python2.6/lib-dynload/pyexpat.so: symbol XML_SetHashSalt, version EXPAT_2_0_1_RH not defined in file libexpat.so.1 with link time reference
解决方法:[root]$cd /usr/lib64/python2.6/lib-dynload[root]$ln -s /lib64/libexpat.so.1.5.2 libexpat.so.0[r ...
- mysql的子查询的提高
统计胜负结果的sql语句 date result 2011-02-01 胜 2011-02-01 负 2011-02-0 ...