一、hive中表分为两种
1、内部表(管理表):
删除表的时候删除hdfs上的数据。
2、外部表
删除表的时候不删除hdfs上的数据。
外部表不能使用insert的方式插入数据,所有的数据来源,都是外部别人提供的,所以hive认为自己没有独占这份数据,所以删除hive表的时候,不会删 除表里面的数据
二、对hive表或者表中数据的操作;
1、insert into 一般强烈不建议使用这种方式来插入数据,因为会在HDFS上面产生小文件,影响HDFS的元数据管理
2、hive在建表的时候如果不使用分隔符,就默认使用\001.是一个asc码值,一个非打印字符。
3、在创建表的时候指定分隔符
创建内部表
create table if not exists stu2(id int,name string) row format delimited fileds terminated by '\t' stored as textfile location '/user/hive/warehouse/myhive/stu2';
创建外部表
create external table if not exists student(s_id string,s_name string) row format delimited fields terminated by '\t' stored as textfile location '/user/hive/warehouse/myhive/student';
4、根据查询结果创建表,并且将查询结果的数据放到新建的表里面去
create table stu3 as select * from stu