各位朋友,我已开通微信公共号:小程在线
我会把文章及时的更新到公共号上,欢迎大家的关注。
1.使用hive创建表:
create table employees
> (
> name string,
> salary float,
> subordinates array<string>,
> deductions map<string,float>,
> address struct<street:string,city:string,state:string,zip:int>
> );
2.创建一个数据相同的表
create table employees2 like employees;
3.模糊查询表名称
show tables 'emp.*';
4.表结构信息
describe extended employees;
5.外部表和管理表
管理表在末尾的详细表信息输出中,可以看见 ... tabletype:managed_table
对于外部表,可以看到: tabletype:external_table
对于管理表,还可以对一张存在的表进行表结构的复制(不会复制数据)
create external table it not exists employees3
like employees
location '/root/czz';
注意:如果语句省略了external关键字且源表是外部表则新表是外部表
如果语句省略了external关键字且源表是管理表则新表是管理表
如果语句有external关键字且源表是管理表则新表是外部表
6.向表中装载数据
load data local inpath '${end:home}/cae/czz-employees'
overwrite into table employees
partition (country='us',state='ca')
如果分区目录不存在,则会先创建分区目录,然后在将数据拷贝到该目录
如果目标表不是分区表,那么语句应该省略掉partition子句。
注意: load data local ...拷贝本地数据到位于分布式文件系统上的目标位置
load data ... 转移数据到目标位置
如果使用overwrite关键字则会将之前的数据删掉,没有使用则会增加不会删除数据