hive数据操作

vi tb_hive.txt
12      34       56
7       12      13
41      2       31
17      21      3
71      2       31
1       12      34
11      2       34


[root@NameNode-82 hive_w]# hive shell

建表结构
hive> CREATE TABLE tb_hive (a int, b int, c int) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';


导入文件
hive> LOAD DATA LOCAL INPATH '/work/wangliqin/hive_w/tb_hive.txt' OVERWRITE INTO TABLE tb_hive ;
Copying data from file:/work/wangliqin/hive_w/tb_hive.txt
Copying file: file:/work/wangliqin/hive_w/tb_hive.txt
Loading data to table default.tb_hive
Deleted hdfs://NameNode-82:54310/user/hive/warehouse/tb_hive
OK
Time taken: 0.511 seconds

查看表

hive> show tables;                                                                             
OK
t_hive
Time taken: 0.142 seconds


删除表

hive> drop table t_hive;  

OK
Time taken: 2.356 seconds         

[root@NameNode-82 hive_w]# hadoop fs -cat /user/hive/warehouse/tb_hive/tb_hive.txt
16      2       3
61      12      13
41      2       31
17      21      3
71      2       31
1       12      34
11      2       34 


1,hive不支持insert into语句、不支持Date和DateTime类型、truncate table t_hive(清空语句)、delete from table t_hive(删除语句)、不支持 in (子查询语句);
2,hive 清空数据可通过 hive>dfs -rmr /user/hive/warehouse/表名来清空该表下的数据,以便保持表元数据信息不丢失;或者通过create table 表名 like 表名,也可以。
3,hive连表查询,可以通过内连接或者 半连接 from 表1 left semi join 表2 on (表1.列名 = 表2.列名),表2只能在on中出现,不能在select中引用
4,hive中在不需要全局排序的情况下,写排序语句时,最好用distribute by 表名.字段名 sort by表名.字段名 asc | desc 的形式,尽量不用order by形式(只通过一个reduce来完成所有的排序结果)
5,hive的表分为外部表和内部表
Hive 创建内部表时,会将数据移动到数据仓库指向的路径;若创建外部表,仅记录数据所在的路径,不对数据的位置做任何改变。
在删除表的时候,内部表的元数据和数据会被一起删除, 而外部表只删除元数据,不删除数据。这样外部表相对来说更加安全些,数据组织也更加灵活,方便共享源数据。


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值