-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature] [datastudio] Preview data does not take effect #2981
Comments
This feature is not implemented yet, maybe 1.1? or later |
Hello @, this issue has not been active for more than 30 days. This issue will be closed in 7 days if there is no response. If you have any questions, you can comment and reply. 你好 @, 这个 issue 30 天内没有活跃,7 天后将关闭,如需回复,可以评论回复。 |
我可以试着做一下这个吗?我打算在预览历史的时候从 org.dinky.data.result.ResultPool 取数据,同时监听 ResultPool 中数据过期行为,仿照任务执行日志,把数据存储到本地文件,当 spring 服务退出的时候也会把 ResultPool 中的数据存储到本地文件,这样如果预览历史从 ResultPool 取不到数据就从本地文件取,同时我会把本地文件路径存储到 dinky_history。为了防止本地文件过多,我会写一个定时任务,定时清理最近M天/每个任务最近N次的执行历史文件 |
|
@Zzm0809 hello,辛苦看下 |
@suxinshuo thanks, assigned |
我看现在是把预览的数据存在本地缓存了,这样的话如果有多台部署 dinky 的机器,就有可能由于请求没有打到执行 sql 的机器,出现获取不到预览数据的情况,存储到本地文件也会有一样的问题。所以我打算把预览数据放到外部存储,下面有几种方案,辛苦帮忙看一下有没有好的建议 @Zzm0809 方案1: 放到 mysql 表 dinky_history 的 result 字段
缺点/问题:
方案2: 使用 Resource 配置中的存储模式做持久化存储,这样由用户来控制是选用本地存储还是外部存储
缺点/问题:
|
@suxinshuo
|
2.如果按照第2方案实现复杂度太高。虽然可以借助目前逻辑,但是网络io 磁盘io都会有,而且清理数据动作无法在dinky中完成。且用户如果切换存储介质,那数据如何处理。这是个问题。如果用户不开启资源配置那么数据预览就不可用。这个不可取,且虽然资源管理中可以预览文本文件,但是读文件方式仍然会有网络io和磁盘io,且也需要手动点击刷新才可以查看最新数据。 综上所述,如果你认同以上观点,建议采用第一方案(仅代表个人观点),如其他大佬有不同观点,可以继续讨论 |
|
第二点是这样的,他主要是为了服务于用户主动上传文件的,因为dinky没有删除功能,存resource会造成大量垃圾数据 对于实时任务,在停止之前我觉得没必要保存数据,用户有更好的地方去查看实时数据,无延迟,所以完全可以和批任务一个逻辑,仅在任务停止之后再进行持久化,这样会更简单一些。 至于你那个监听器我没有理解,监听什么,他不是直接在任务结束触发吗,求解 @suxinshuo |
第一点保存时机:
上面的流程图的方案是不区分批和流,只要任务开始执行,保存了执行历史,那就定时轮询获取更新的数据存储到 mysql,现在用户查询实时数据需要点击获取数据,这个时候会触发更新数据存储到 mysql,这个时候页面上看到的也没有延迟 第二点监听器: 综上所述,感谢 @gaoyan1998 的建议,把方案做了如下改动,我认为这样更合理一些,整体的逻辑也会简单一些 |
我觉得可以 @Zzm0809 你看看还有啥补充么 |
无,可以先实现一下 pr上来看下 @suxinshuo |
Search before asking
What happened
无法预览数据,点击按钮后,没有触发请求
What you expected to happen
正常预览数据
How to reproduce
none
Anything else
No response
Version
dev
Are you willing to submit PR?
Code of Conduct
The text was updated successfully, but these errors were encountered: