Hive表数据批量导出到csv文件excel文件

Alex / 8-29 17:46 / Hive / Tag: hive

最近再给建模组提供数据的时候,出现了在HUE页面导出数据csv文件最多为103万行,到达了电子表格的上限

在网上搜罗了一下用法,总结了一下,并写了一个shell脚本为后期工作提供方便

 

查询结果 hive -e "set hive.cli.print.header=true;select * from ${database}.${tablename}"

过滤结果内容 sed -i 's/t/,/g'

 

下边是批量脚本

#!/bin/bash
function export(){
echo -e  "请输入Hive库名称:a"
read database
echo -e "请输入${database}库中的表名:a"
read tablename
echo -e "请输入输出文件的名称请自己定义为csv文件后缀(可带路径,不带路径默认当前目录:)a"
read output
hive -e "set hive.cli.print.header=true;select * from ${database}.${tablename}" > ${output}
sed -i 's/t/,/g' ${output}
function jindu(){
   b=''
   i=0
   while [ $i -le  100 ]
   do
       printf "文件生成进度:[%-50s]%d%%r" $b $i
       sleep 0.05
       i=`expr 2 + $i`
       b=#$b
   done
   echo
}
jindu
echo -e  "1)文件输出完毕,现在输出文件编码格式为 UTF-8 无Boom格式n2)想要在windows中的Excel中查看中文内容,需要使用notepad++或者其他文本编辑器将编码格式转换为UTF-8(带Boom)格式n3)请自行删除文件末尾的额外的Hive控制台信息"
echo -e "n33[31m @author:lishiyu.cn 33[0m"
}

function version(){
 export
}
version
 



发表留言:

Spark中repartition和coalesce的区别与使用场景解析
返回顶部
Themes by lishiyu.cn