hive基本命令

建表语句,表中有map结构:
hive> create table test_score(name string, score map<string,int>)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
COLLECTION ITEMS TERMINATED BY ','
MAP KEYS TERMINATED BY ':'

建分区表:
hive> create table test_table(id int,date_wid string) partitioned by(day string);
OK
Time taken: 0.084 seconds

删除表
hive> drop table test_table;
Moved: 'hdfs://.../test_table' to trash at: hdfs://.../.Trash/Current
OK
Time taken: 0.865 seconds

创建一个新表,结构与其他一样
hive> create table new_table like old_table;

修改表的名称
hive> alter table test_score rename to test_map;

将本地数据导入表中:
LOAD DATA LOCAL INPATH '/home/webopa/lei.wang/datas_test/test' OVERWRITE INTO TABLE test_map;

hive中删除表数据,但是不删除表结构
方式一:直接删除数据
hive> dfs -rmr /user/hive/warehouse/test_map
方式二:通过查询等到一个空结果集覆盖原表
hive> insert overwrite table test_map select * from test_map where 1=0

查看所有函数
hive> show functions;

修改表属性:
内部表转外部表 
hive> alter table test_map set TBLPROPERTIES ('EXTERNAL'='TRUE');
OK
Time taken: 0.182 seconds
外部表转内部表
hive> alter table test_map set TBLPROPERTIES ('EXTERNAL'='FALSE');
OK
Time taken: 0.217 seconds //外部表转内部表

添加列
在所有存在的列后面,但是在分区列之前添加一列
hive> ALTER TABLE test_map ADD COLUMNS (id int);
OK
Time taken: 0.182 seconds
hive> select * from test_map;
OK
leilei    {"数学":99,"语文":90,"英语":96}    NULL
lucy    {"数学":100,"语文":85,"英语":91}    NULL

删除列
需要删除表并重新建表

修改column属性(列名,列字段类型,列注释)

ALTER TABLE table_name  

CHANGE [COLUMN] col_old_name col_new_name

column_type [COMMENT col_comment] [FIRST|AFTER column_name]  



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值