Hive

 

 

建表后导入数据

Create table u_acts_event(devsn STRING, mac STRING, starttime int, endtime int, timespan int, upflow int, downflow int) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' stored as textfile;

load data local inpath '/home/manhua/PycharmProjects/kafka-7z/u_acts_event_withFlow.txt' overwrite into table u_acts_event;

LOAD DATA LOCAL ...会copy本地数据到位于分布式文件系统上的hive的数据目录,默认为/user/hive/warehouse/[table_name]

而LOAD DATA ...(也就是没有使用LOCAL)会move数据到hive的数据目录  

这里可以理解为,Hive默认是处于分布式环境,使用LOCAL则会触发从本地上传到HDFS的操作,而没有LOCAL关键字的则只须移动文件即可

 

使用外部数据直接创建表

Create external table u_acts_event(devsn STRING, mac STRING, starttime int, endtime int, timespan int, upflow int, downflow int) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' LOCATION '/home/manhua/PycharmProjects/kafka-7z/u_acts_event_withFlow';

使用该命令则不会移动文件,但是要求location的参数是一个目录

 

posted @ 2016-01-18 15:24  Man_华  阅读(194)  评论(0编辑  收藏  举报