[FineReport]安装与使用(连接Hive3.1.2)

一、安装(对应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、添加到服务器

可以了!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/92595.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据挖掘(1)概述

一、数据仓库和数据挖掘概述 1.1 数据仓库的产生 数据仓库与数据挖掘: 数据仓库和联机分析处理技术(存储)。数据挖掘:在大量的数据中心挖掘感兴趣的知识、规则、规律、模式、约束(分析)。数据仓库用于决策分析: 数据仓库:是在数…

机器学习算法基础--K-means应用实战--图像分割

目录 1.项目内容介绍 2.项目关键代码 3.项目效果展示 1.项目内容介绍 本项目是将一张图片进行k-means分类,根据色彩k进行分类,最后比较和原图的效果。 题目还是比较简单的,我们只要通过k-means聚类,一类就是一种色彩得出聚类之…

快速上手kettle(三)壶中可以放些啥?

序言 快速上手kettle开篇中,我们将kettle比作壶,并对这个壶做了简单介绍。 而上一期中我们实现了①将csv文件通过kettle转换成excel文件; ②将excel文件通过kettle写入到MySQL数据库表中 这两个案例。 相信大家跟我一样,对kettle已经有了初步认识,并且对这强大的工具产…

CV面试知识点总结

一.卷积操作和图像处理中的中值滤波操作有什么区别? 1.1卷积操作 卷积操作是一种线性操作,通常用于特征的提取,通过卷积核的加权求和来得到新的像素值。1.2中值滤波 原文: https://blog.csdn.net/weixin_51571728/article/detai…

leetCode 376.摆动序列 动态规划 + 图解 + 状态转移

376. 摆动序列 - 力扣(LeetCode) 如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为 摆动序列 。第一个差(如果存在的话)可能是正数或负数。仅有一个元素或者含两个不等元素的序列也视作摆动序列。 例如…

[尚硅谷React笔记]——第2章 React面向组件编程

目录: 基本理解和使用: 使用React开发者工具调试函数式组件复习类的基本知识类式组件组件三大核心属性1: state 复习类中方法this指向: 复习bind函数:解决changeWeather中this指向问题:一般写法:state.htm…

【Java】访问修饰符之private this 关键字

private 是一个权限修饰符可以修饰成员变量和成员方法被其修饰的成员只能在本类中被访问,可以保护成员不被其他类使用 提供 “get 变量名()”方法,用于获得成员变量的值,方法用 public 修饰提供 “set 变量名&#xff…

【最新版配置conda环境】新版pycharm导入新版anaconda环境

最近下载了新版pycharm和新版anaconda,并且在命令行创建了环境,想着在pycharm里面导入环境。结果现在的导入方式发生了变化。 之前是通过导入Python.exe进行的。 现在: 当我们点击进去之后,会发现找不到python.exe了。 具体什么…

JVM学习笔记

JVM学习笔记 复习之前学的内容,同时补充以下知识点:JVM的双亲委派机制、伊甸区与老年代相关知识; 双亲委派机制 双亲的含义应该就是AppClassLoader有:ExtClassLoader和BootstrapClassLoader“两个”父加载器。 首先介绍Java中…

Redis 集合类型(Set)和命令 (数据类型 四)

集合类型是一个无序、不重复的数据集合,它可以用于存储唯一的值,并提供了对集合进行交集、并集、差集等操作。 常用集合类型命令: 添加操作: sadd key member1 member2 …:向集合中添加一个或多个成员。 # 添加三个…

Stm32_标准库_4_TIM中断_PWM波形_呼吸灯

基本原理 PWM相关物理量的求法 呼吸灯代码 #include "stm32f10x.h" // Device header #include "Delay.h"TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure; TIM_OCInitTypeDef TIM_OCInitStructuer;//结构体 GPIO_InitTypeDef GPIO_InitStructur…

【Git】Git 原理和使用

Git 一、Git 本地仓库1. 本地仓库的创建2. 配置 Git3. 工作区、暂存区、版本库4. 添加文件5. 查看 .git 文件6. 修改文件7. 版本回退8. 撤销修改9. 删除文件 二、分支管理1. 理解分支2. 创建分支3. 切换分支4. 合并分支5. 删除分支6. 合并冲突7. 分支管理策略8. bug 分支9. 强制…

TempleteMethod

TempleteMethod 动机 在软件构建过程中,对于某一项任务,它常常有稳定的整体操作结构,但各个子步骤却有很多改变的需求,或者由于固有的原因 (比如框架与应用之间的关系)而无法和任务的整体结构同时实现。如…

Armv8/Armv9 Cache知识大纲分享--思维导图

关键词:cache学习、mmu学习、cache资料、mmu资料、arm资料、armv8资料、armv9资料、 trustzone视频、tee视频、ATF视频、secureboot视频、安全启动视频、selinux视频,cache视频、mmu视频,armv8视频、armv9视频、FF-A视频、密码学视频、RME/CC…

Acwing 838. 堆排序

Acwing 838. 堆排序 题目描述思路讲解代码展示 题目描述 思路讲解 堆是一颗完全二叉树,除了最下面一层,其余是满的,最后一层从左到右排列 小根堆:每个点小于等于左右两堆,所以根节点就是最小值 大根堆:每个…

巧用前缀和

相关题目: 325. 和等于 k 的最长子数组长度 525. 连续数组 class Solution:"""325. 和等于 k 的最长子数组长度巧用前缀和数组,并优化浅醉和数组为单变量"""def findMaxLength(self, nums: List[int], k: int) -> i…

R语言实现随机生存森林(3)

常见问题解答 1、计算C指数 1-Error rate&#xff0c;或者 rsf.err <- get.cindex(yvar$Survival_months,yvar$OS,predictedrf.grow$predicted) 2、模型中predicted和predicted.oob区别 predicted和predicted.oob是两个不同的属性&#xff0c;它们分别表示模型的预测结果…

Google Earth Engine(GEE)案例——如何去除和过滤Landsat和sentinel等系列影像集合中的空影像(三种方法)

简介 本文的主要解决的问题是如何去除和过滤Landsat和sentinel等系列影像集合中的空影像?这个主要源于一下的问题: “从图像集中删除空图像”是什么意思?您的脚本将图像集合过滤到没有图像的日期,这会产生包含 0 个图像的图像集合:https: https://code.earthengine.goog…

Docker Tutorial

什么是Docker 为每个应用提供完全隔离的运行环境 Dockerfile&#xff0c; Image&#xff0c;Container Image&#xff1a; 相当于虚拟机的快照&#xff08;snapshot&#xff09;里面包含了我们需要部署的应用程序以及替它所关联的所有库。通过image&#xff0c;我们可以创建很…

美容店预约小程序搭建流程

随着科技的不断发展&#xff0c;小程序已经成为了人们生活中不可或缺的一部分。对于美容店来说&#xff0c;搭建一个预约小程序不仅可以提高工作效率&#xff0c;还可以增加客户数量、提高服务质量。那么&#xff0c;如何搭建一个美容店预约小程序呢&#xff1f;本文将为你详细…