一、安装(对应hive3.1.2)
注:服务器的和本地的要同时安装。本地是测试环境,服务器的是生产环境
1、服务器安装
1、下载
免费下载FineReport - FineReport报表官网
向下滑找到
2、解压
[root@ck1 /home/data_warehouse/software]# tar -zxvf tomcat-linux.tar.gz -C ../module/
[root@ck1 /home/data_warehouse/module]# chmod 777 tomcat-linux
3、在home/data_warehouse/module/tomcat/webapps/webroot/WEB-INF/lib下加入下载的包
[平台]Hadoop Hive数据连接- FineReport帮助文档 - 全面的报表使用教程和学习资料
解压,把里头的jar全放进去(这个适用Hive2版本的包,对于Hive3也是好用的)
4、配置文件
[root@ck1 /home/data_warehouse/module/tomcat/conf]# vim server.xml
第40行,改一下端口
5、启动
[root@ck1 /home/data_warehouse/module/tomcat/bin]# ./startup.sh
查看服务器日志
[root@ck1 /home/data_warehouse/module/tomcat/logs]# tail -200f catalina.out
注:停止:shutdown.sh
6、初始化
访问并设置密码 http://ck1:2333/webroot/decision
选择内置数据库即可
7、创建hive连接
测一下,通了就可以了 。记得保存
2、本地安装
1、安装
免费下载FineReport - FineReport报表官网
向下翻
2、Hive驱动,下载这个
[平台]Hadoop Hive数据连接- FineReport帮助文档 - 全面的报表使用教程和学习资料
放到这里就行了
3、连接hive
使用的是这个app
创建链接
二、使用(在服务器上查数据)
需求:我有一张表dws.dws_news_aggre这表有21列,我想这个21列全展示出来,并且仅展示10000条。并对其中的19列做一个查询框,方便查询。
1、在客户端处理
1、添加数据集
select * from dws.dws_news_aggre
where 1 = 1
${IF(len(股票代码)=0,"","AND scode = '" + 股票代码 + "'")}
${IF(len(公司简称)=0,"","AND coname = '" + 公司简称 + "'")}
${IF(len(行业名称)=0,"","AND industry = '" + 行业名称 + "'")}
${IF(len(行业代码)=0,"","AND indcode = '" + 行业代码 + "'")}
${IF(len(新闻ID)=0,"","AND newsid = '" + 新闻ID + "'")}
${IF(len(报道时间)=0,"","AND reptime = '" + 报道时间 + "'")}
${IF(len(报道媒体)=0,"","AND repmedia = '" + 报道媒体 + "'")}
${IF(len(报道媒体所在地区mediarea)=0,"","AND mediarea = '" + 报道媒体所在地区 + "'")}
${IF(len(来源媒体)=0,"","AND sourcemed = '" + 来源媒体 + "'")}
${IF(len(新闻情感)=0,"","AND newsemot = '" + 新闻情感 + "'")}
${IF(len(是否原创)=0,"","AND orirep_dum = '" + 是否原创 + "'")}
${IF(len(采集网址)=0,"","AND url = '" + 采集网址 + "'")}
${IF(len(正文句子数)=0,"","AND senten_num = '" + 正文句子数 + "'")}
${IF(len(标题是否提及)=0,"","AND title_mentioned = '" + 标题是否提及 + "'")}
${IF(len(正文提及句子数)=0,"","AND codesent_num = '" + 正文提及句子数 + "'")}
${IF(len(正文提及次数)=0,"","AND codecontent_num = '" + 正文提及次数 + "'")}
${IF(len(company_num提及全部公司数)=0,"","AND company_num = '" + 提及全部公司数 + "'")}
${IF(len(提及全部公司句子数)=0,"","AND allcodesent_num = '" + 提及全部公司句子数 + "'")}
${IF(len(全部公司提及次数)=0,"","AND allcode_content_num = '" + 全部公司提及次数 + "'")}
${IF(len(来源)=0,"","AND 来源 = '" + 来源 + "'")}
limit 10000说明:
${IF(len(股票代码)=0,"","AND scode = '" + 股票代码 + "'")}
股票代码为字段scode显示的中文名
这句其实是
if(len(scode)=0,"",scode) +"'"是字符串拼接一个单引号
字符串需要拼接单引号(我的这些字段全是字符串类型的),数值类型的则不需要
选择确定
2、把数据放到表格上展示
1)用鼠标选中第一列,按住shitf再选中最后一列
2)拖进来
选择从左到右
3、调整
1)原来是group by ,该成汇总(展示明细)
单击第一列
调整为汇总
2)添加边框
3)添加表头:在行首添加一行,填写表头名即可
4)设置固定行高,不然会很丑
5)设置一页显示所有列
如果这样不行的话,就
6)调整颜色
7)预览一下
4、导入筛选文本框
编辑
点击全部添加
编辑为文本框,选中扳手,再选择第一个空的
可以通过圈选和拖动调节位置!
2、在服务器展示
1、放客户端生成的文件
把客户端做好的以.cpt为后缀的文件传到服务器的:
/home/data_warehouse/module/tomcat_bak/webapps/webroot/WEB-INF/reportlets目录下
2、添加到服务器
可以了!