1.什么是外部表
外部表因为是指定其他hdfs路径的数据加载到表中来,所以hive认为自己不会独占这份数据,所以删除外部表时,不会删除数据,只会删除元数据
2.内部表和外部表的使用场景
当数据需要共享时,使用外部表,当数据为独有时使用内部表
3.创建外部表
需要添加external关键字
4.加载数据
4.1通常不使用insert into命令,而是将数据上传到表所在的目录下,注:所上传文件中字符间的分割方式与创建表的命令相同。
创建teacher.txt
4.2加载本地数据
4.3加载并覆盖已有数据(添加overwrite关键字)
4.4从hdfs文件系统向表中加载数据(需要提前将文件上传到hdfs文件系统)
注:数据加载完成后,hdfs文件系统中的原始文件被剪切到了表文件中,在hdfs文件系统中找不到此原始文件了。