1、查询结果保存到本地一个目录
hive> insert overwrite local directory "存放结果目录"
> row format delimited fields terminated by "\t"
> select * from orders limit 10;
- 存放结果目录为本地已有的目录
- row format delimited fields terminated by “\t” 指存放结果时以什么方式分割数据
- 最后也就是相关任务HQL语句
2、查询结果存放到HDFS
hive> insert overwrite directory "存放结果目录"
> row format delimited fields terminated by "\t"
> select * from orders limit 10;
例子:
1、首先在hdfs上创建一个/orders_result目录,存放查询结果
hadoop fs -mkdir /orders_result;
2、执行以下语句
hive> insert overwrite directory "/orders_result"
> row format delimited fields terminated by "\t"
> select * from orders limit 10;
3、查看一下
3、查询结果存放到Hive新表中
hive> create table table_name
> as
> select * from orders limit 10;
例子:
4、查询结果存放到已经有的Hive表中
hive> insert into table 已经有的表名
> select * from orders limit 1;
例子:
- 可以看到result比之前多了一行,说明放进去了
5、使用hdfs直接导出表
1、首先找到要导出的表存放到哪个目录下:
show create table table_name;
或者
desc formatted orders;
2、接下来,直接利用hadoop dfs -get导出到本地:
hadoop dfs -get LOCATION地址 本地目录名