永洪社区

标题: 制作报告表时报执行数据失败 [打印本页]

作者: yhdata_0DaS7cER    时间: 2022-6-1 18:44
标题: 制作报告表时报执行数据失败
永洪8.6.5,连mysql数据库。在自服务数据集中可以查询出结果,但是在制作报表时报错 执行数据失败 等待数据超时。
作者: Cesar    时间: 2022-6-1 18:48
您好,看看日志里面,具体报错堆栈是什么
作者: yhdata_0DaS7cER    时间: 2022-6-1 18:58
Cesar 发表于 2022-6-1 18:48
您好,看看日志里面,具体报错堆栈是什么

还需要拍其它地方吗?
作者: yhdata_0DaS7cER    时间: 2022-6-1 19:00
里面有提示资源运行时长超过设定值
作者: Cesar    时间: 2022-6-1 19:01
您好,报错的地方截图不对,可以新建日志文件,然后再去操作,回到日志这搜索“等待数据超时”,如果还是没有,勾选上下方的全部显示在搜索
作者: yhdata_0DaS7cER    时间: 2022-6-1 19:29
Cesar 发表于 2022-6-1 19:01
您好,报错的地方截图不对,可以新建日志文件,然后再去操作,回到日志这搜索“等待数据超时”,如果还是没 ...

刚刚重新查询,现在报的是执行数据超时。
作者: Cesar    时间: 2022-6-1 19:37
您好,在数据集的结果集上,查一下总行数呢?看看是不是也超时,如果也超时的话,看看连接的关联关系,以及他们分别的数据量
作者: yhdata_0DaS7cER    时间: 2022-6-1 19:52
Cesar 发表于 2022-6-1 19:37
您好,在数据集的结果集上,查一下总行数呢?看看是不是也超时,如果也超时的话,看看连接的关联关系,以及 ...

结果集显示总行数是超时的,联接关系是把select语句后面的除了计算的全部内部联接关联了。两个数据集行数分别是54685和71626行
作者: Cesar    时间: 2022-6-1 19:55
您好,看看您的联接设置
作者: yhdata_0DaS7cER    时间: 2022-6-1 20:11
Cesar 发表于 2022-6-1 19:55
您好,看看您的联接设置

是这样联接的
作者: Cesar    时间: 2022-6-1 20:32
您好,这两个子数据集,数据源是否相同呢?
作者: yhdata_0DaS7cER    时间: 2022-6-1 20:39
Cesar 发表于 2022-6-1 20:32
您好,这两个子数据集,数据源是否相同呢?

数据源都是来自同一张表,就是里面的指标编码和值不一样
作者: yhdata_0DaS7cER    时间: 2022-6-1 20:44
Cesar 发表于 2022-6-1 20:32
您好,这两个子数据集,数据源是否相同呢?

我是做了两个数据集的相除计算,隐藏了两列数据集的值,只留了关联的字段还有计算后的值
作者: Cesar    时间: 2022-6-1 20:47
yhdata_0DaS7cER 发表于 2022-6-1 20:44
我是做了两个数据集的相除计算,隐藏了两列数据集的值,只留了关联的字段还有计算后的值 ...

您好,相除是怎么做的呢?
作者: yhdata_0DaS7cER    时间: 2022-6-1 20:59
Cesar 发表于 2022-6-1 20:47
您好,相除是怎么做的呢?

是在数据集结果里面的元数据中做的表达式,两个值相除
作者: Cesar    时间: 2022-6-1 21:05
yhdata_0DaS7cER 发表于 2022-6-1 20:59
是在数据集结果里面的元数据中做的表达式,两个值相除

去掉这个计算列,能算出总行数吗?
作者: yhdata_0DaS7cER    时间: 2022-6-1 21:12
Cesar 发表于 2022-6-1 21:05
去掉这个计算列,能算出总行数吗?

需要用到除法的这个计算,要得到率。计算了和不加计算的都是超时,我发现一开始我没有加上计算,刚才加上了计算也超时了
作者: Cesar    时间: 2022-6-1 21:30
yhdata_0DaS7cER 发表于 2022-6-1 21:12
需要用到除法的这个计算,要得到率。计算了和不加计算的都是超时,我发现一开始我没有加上计算,刚才加上 ...

您好,展示无法定位到问题,能提供一下日志文件,或者提供下联系方式,明天远程看一下?
作者: yhdata_0DaS7cER    时间: 2022-6-1 21:43
Cesar 发表于 2022-6-1 21:30
您好,展示无法定位到问题,能提供一下日志文件,或者提供下联系方式,明天远程看一下? ...

请问我怎样发日志文件?我的手机是13718531726
作者: 臭热闹    时间: 2022-6-1 23:10
挺有用的
作者: yanieye    时间: 2022-6-2 08:46
参考这个文档把出错的时候的日志下载下来,压缩之后上传。
https://www.yonghongtech.com/hel ... system_logview.html

从现象看, 如果这两个查询的连接设置没有问题的话,不太可能会导致执行数据超时。 最好可以排查一下用来做连接的列 会不会导致数据膨胀特别厉害。看前面的截图,每个表的数据都是不超过10万行,如果连接是1对1的,结果集也不会超过10万。 但是如果用来做连接的列实际上重复值特别多,就可能会导致出现特别大的结果集。
作者: yhdata_0DaS7cER    时间: 2022-6-2 09:24
yanieye 发表于 2022-6-2 08:46
参考这个文档把出错的时候的日志下载下来,压缩之后上传。
https://www.yonghongtech.com/help/Z-Suite/9.4 ...

你好,请问我直接拷贝下来的日志可以吗?还是需要下载到服务器上面的日志?
作者: yanieye    时间: 2022-6-2 09:33
拷贝也可以,把出错时间段的日志尽可能考全一点。
作者: yhdata_0DaS7cER    时间: 2022-6-2 09:48
本帖最后由 yhdata_0DaS7cER 于 2022-6-2 09:55 编辑
yanieye 发表于 2022-6-2 09:33
拷贝也可以,把出错时间段的日志尽可能考全一点。

这个是昨天拷贝的两个日志

作者: wendy    时间: 2022-6-2 10:19
看日志得到以下信息
有计算列:
Execute one query 'g5.gqry.comp.CompGQuery@5a05033a' with error: '执行数据超时。', occupied 300011ms.
没有计算列:
Execute one query 'g5.gqry.comp.CompGQuery@67c2151e' with error: '执行数据超时。', occupied 300009ms.
sql执行时间都是超过了5分钟,超时看起来和计算列没关系。

解决方案:
永洪产品有一个属性execute.data.timeout=300000,默认是300000ms,sql执行时间超过这个值,就会提示超时。这段sqljoin条件比较多,(不知道数据量是不是也比较大)sql执行会比较慢,看日志里都是超过了这个时间。所以需要把属性值调大一些,然后配置到bi.properties里,重启tomcat后再去尝试是否超时,谢谢

bi.properties所在路径:
文件系统:\Yonghong\bihome
数据库系统:需要到 管理系统->数据库管理页面上传。
以上配置后 都需要重启tomcat
作者: yhdata_0DaS7cER    时间: 2022-6-9 14:31
你好,在数据库里面我不加LIMIT5000000很快可以查询出结果,加上以后也是要等很长时间也跑不出来。请问在永洪制作报告时如何去掉这个LIMIT?我在创建数据集的时候没有加LIMIT
作者: Fiona    时间: 2022-6-9 16:57
你在数据集上加个参数_MAX_ROWS_,设成整数类型,默认值设成0,试试。
作者: yhdata_0DaS7cER    时间: 2022-6-9 19:01
好的,我试一试
作者: 永洪tech-cc    时间: 2022-6-9 21:19





欢迎光临 永洪社区 (http://club.yonghongtech.com/) Powered by Discuz! X3.4