@songlaf
2016-05-19T10:23:55.000000Z
字数 1545
阅读 608
北风网大数据培训
LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)]
*数据源是否在本地(hive所在的linux服务器系统)
--local
--HDFS
*是否需要覆盖目标数据表
--overwrite
--默认是append
*是否是分区表
--partition
如下的表
create table user
(
id string,
name string
)
partitioned by (
Sex string,
Age string)
row format delimited fields terminated by ',';
load data local inpath "/home/sjf/userlist.txt" into table user partition(sex='F',age=21);
#上传文件到hdfs
bin/hdfs dfs -put /home/sjf/userlist1.txt /input/userlist1.txt
#导入文件
load data inpath "/input/userlist1.txt" into table user partition(sex='F',age=22);
load data local inpath "/home/sjf/userlist3.txt" overwrite into table user partition(sex='F',age=27);
create table user_backup as select * from user;
create table user_temp like user;
insert into table user_temp partition(sex='F',age=22) select id,name from user where age = 22 and sex='F';
#新建一个文本文件wu.txt,内容如下:
1,诸葛亮
2,黄忠
3,糜芳
4,张苞
#上传文件到hdfs
bin/hdfs dfs -mkdir /user/hive/warehouse/db_s9.db/wu
bin/hdfs dfs -put /home/sjf/wu.txt /user/hive/warehouse/db_s9.db/wu
#创建表,指定location为/user/hive/warehouse/db_s9.db/wu
create table wu
(
id string,
name string
)
row format delimited fields terminated by ','
location '/user/hive/warehouse/db_s9.db/wu';
查询结果
insert overwrite local directory '/home/sjf/wu' row format delimited fields terminated by ',' select * from wu ;
查看结果
(2)导出到HDFS
#建立到处目录
bin/hdfs dfs -mkdir /output1
#导出数据
insert overwrite directory '/output1' select * from wu;
查看结果
(3)hive -e
hive -e 'select * from wu' >> 1.txt