Hive 笔记2

匿名 (未验证) 提交于 2019-12-03 00:19:01

create database db_hive_01;

create database if not exists db_hive_02;

create database if not exists db_hive_03 location '/user/tzhang/hive/warehouse/db_hive_03.db';

show databases;

show databases like 'db_hive*';

use db_hive;

desc database db_hive_02;

desc database extended db_hive_02;

drop database db_hive_02;// 有表无法删除

drop database db_hive_02 cascade;// 级联删除可以

drop database db_hive_02 if exists;

创建表











HIVE中:overwrite如果有数据,重写

load data local inpath ‘/opt/datas/emp.txt’overwrite into table emp;

load data local inpath ‘/opt/datas/dept.txt’overwrite into table dept;

create table if not exists default.dept_cats

as

select * from dept;

truncate table dept_cat;清楚数据

create table is not exists default.dept_like

default.dept;

alter table dept_like rename to dept_like dept_like_rename;

drop table if exists dept_like_rename;


Hive中表的类型有两种,1)管理表2)托管表(外部表)

desc formatted 表名;

在常见表时,create external table....外部表

外部表,放在外部表的目录中去(企业中应用外部表居多80%)







分区表






二级分区



创建一张表,将数据通过hdfs放到对应的目录下,表名与文件名相同,之后便可查询数据了






select * from dept_part;查不到数据

show databases;

use metastore;

select * from PARTITIONS;

输出记录为记录的分区,可见在这张表中不知道刚刚所创建分区的存在

解决方案:

1、

再次查询select * from PARTITIONS;可以看到分区已存在

select * from dept_part;也可以查到数据



2、alter table dept_part add partiotion(day='20160909')




文章来源: Hive 笔记2
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!