hive 创建外表

hive 中 创建表 可以用

CREATE TABLE TABLE (id string,name string)

ROW FORMAT DELIMITED FIELDS TERMINATED BY  '\t'  //声明文件分隔符

LOAD DATA LOCAL INPATH 'input/ncdc/youdata.txt' //load 数据文件路径 将此文件 加载到hive 的warehouse  directory 此处是 移动文件 原路径下的文件会被移走,不在保留 如果使用LOCL关键字 则是取本地文件系统 如果不使用LOCAL关键字 那 就是从HDFS 取文件

OVERWRITE INTO TABLE table; //此处OVERWRITE 关键字 会把hie warehouse directory 全部清空重新加载数据 如果不使用,则不清空路径下文件

但这种方式 会有移动文件的操作,可能有悖初衷,且drop 表的时候会顺带把移动过来的文件一并删除,这样就人财两空了,除跟Mysql一样,此数据仅仅在hive下使用

 

其他情况下就考虑建外表

 

CREATE EXTERNAL TABLE login (date string,time string,id int,name string)

 ROW FORMAT DELIITER FIELDS TERMINATED BY '\t'

LOCATION '/loglog' //关键字 指定数据文件存放的地址,hive不做修改,仅仅是做关联 但后边跟随的必须是一个路径 不能指定单独的数据文件。

 

你可能感兴趣的:(hive,建表)