码迷,mamicode.com
首页 > 其他好文 > 详细

HIVE和HADOOP的一些东西

时间:2018-02-22 21:22:32      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:导入数据   image   分享   class   .so   hdfs   有一个   仓库   something   

今天刚上班就要更新一个hive表(新年好呀我想说...),由于建立的外表直接替换hdfs文件就行了,但是替换完发现少了二行数据,原来之前做了关联,这就要用到hive的insert了!

先来说一下hive的外部表:

1、在导入数据到外部表,数据并没有移动到自己的数据仓库目录下,也就是说外部表中的数据并不是由它自己来管理的!而管理表则不一样; 
2、在删除管理表的时候,Hive将会把属于表的元数据和数据全部删掉;而删除外部表的时候,Hive仅仅删除外部表的元数据,数据是不会删除的!

而这些表的更新可以和线上的表进行关联更新,也可以自己get下来进行更新,误删也不会影响文件,多好。

再来说一下insert into和insert overwrite的区别,

1. insert into table tablename
select * from a
left jion a
on a.something=b.something;

2. insert overwrite table tablename
select * from a 
left jion a
on a.something=b.something;

insert into的话是直接插入,insert overwrite的话也是插入但是会覆盖原始数据。

还有一个遇到的问题是从windows上打开看着好好的东西上传到hdfs上面用hadoop fs -cat /data/..

发现中文乱码,纠结了很久用editplus这个软件修改文件为utf-8编码,最好也修改一下这里:

技术分享图片

 

技术分享图片

 

HIVE和HADOOP的一些东西

标签:导入数据   image   分享   class   .so   hdfs   有一个   仓库   something   

原文地址:https://www.cnblogs.com/Kaivenblog/p/8459730.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!