hive中给一个表添加数据的方法
1、说明解释:
local:可选:(表示从本地文件系统中加载,而非hdfs)。overwrite:可选:(先删除原来数据,然后再加载)。

2、partition:是指将inpath中的所有数据加载到那个分区,并不会判断源数据中每一条记录属于哪个分区。
注意事项:load完了之后,会自动把INPATH下面的源数据删掉,其实就是将INPATH下面的数据移动到/usr/hive/warehouse目录下了。
分区加载命令:load data inpath '/tmp/score.txt' into table score partition (school="school1",class="class1")
使用select * from score查询出来的四条记录,两个分区字段都变成了school1和class1

3、为此load加载的命令的执行其实就是简单的mv操作。

4、采用下面的加载方式,先load加载到非分区表score1:

5、查询的效果:

1、单个插入模式命令:

2、多数据插入模式命令:

3、把score1中的某个分区数据insert到score中命令代码:

4、查询表文件的数据,分区数据并没有存在表文件中,仅存在目录上,因此,这下hive的分区本质摸清楚了。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:102
阅读量:93
阅读量:55
阅读量:77
阅读量:169