Hive操作小细节

5)将分析结果导入目标表,这里与mysql的"insert into table..."略有不同;hivesql是"insert

overwrite table...",overwrite表示覆盖重写文件

insert OVERWRITEtable tmp_qw2

selectresource_id,v

from tmp_qw1

order by v desc;

//这里使用order by是由于hive里面每一个Reduce都会有单独的输出文件;每个job里面会根据底层数据文件的划分生成多个map,map与reduce关系为N-N;此处不加order by时会有两个reduce生成两个文件,与我的需求有差;加一个order by后在原有的结果集reduce上再做一层map-reduce最终生成一个文件

6)查看文件:

hadoop dfs -ls/group/taobaodba/qianwei/hive/tmp_qw2

7)查看文件内容是否满足需求:

hadoop dfs -text/group/taobaodba/qianwei/hive/tmp_qw2/attempt_201107131247_1823525_r_000000_0

8)取文件到本地:

hadoop fs -get/group/taobaodba/qianwei/hive/tmp_qw2/attempt_201107131247_1824316_r_000000_0local

===============================================================

这其中还有一个弯路:

在mysql里面我们要把数据导出需要"select *into outfile 'file_path' from table_name"

你可能感兴趣的:(Hive操作小细节)