正常情况下,登录Hive,输入HQL,然后输出数据,复制粘贴到Excel里面稍微美化一下即可,但这种方式只是适用于行数比较少的情况。行数较多时可以参照以下方式:
方法一:将数据以文件格式保存至本地
分为两步:把数据存到Linux服务器,从Linux服务器复制文件到本地windows
#第一步:把数据存到Linux服务器
两种操作方式:
01.insert方式(有风险),在hive> 下执行,HSQL如下:
insert overwrite local directory 'linux本地目录' row format delimited terminated fields by ',' select * from table_name where .....;
注意:这种方法会将linux本地目录的所有内容全部覆盖.尽量自己先新建一个数据存放的目录!!!
02.hive -e 的操作方式
hive -e "select * from table_name where .... " > /home/outData/0321.txt
#第二步:从Linux服务器复制文件到本地windows
sz命令:如果没有则安装(yum -y install lrzsz)
下载多多个文件:sz file1 file2 ...
下载dir目录下所有的文件:sz dir/*
方法二:存入HDFS或者临时表
# 存入HDFS
insert overwrite directory 'hdfs路径' select * from table_name where .....;
注意:与保存到本地的区别就是不指定Local项。
# 存入临时表
create table tmp as slect * from table_name where ....;
方法三:更改 Xshell 可以显示的最大行数
更改完成后,重启Xshell,并运行SQL代码,然后直接复制即可。
原文链接