You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kylin.apache.org by "ASF subversion and git services (Jira)" <ji...@apache.org> on 2022/12/05 10:21:00 UTC

[jira] [Commented] (KYLIN-5314) can not export TDS file

    [ https://issues.apache.org/jira/browse/KYLIN-5314?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17643227#comment-17643227 ] 

ASF subversion and git services commented on KYLIN-5314:
--------------------------------------------------------

Commit f4f2b21ee8127424f13f3739b4324a7bcfcc8f53 in kylin's branch refs/heads/kylin5 from Pengfei Zhan
[ https://gitbox.apache.org/repos/asf?p=kylin.git;h=f4f2b21ee8 ]

KYLIN-5314 check name conflict before export tds file


> can not export TDS file
> -----------------------
>
>                 Key: KYLIN-5314
>                 URL: https://issues.apache.org/jira/browse/KYLIN-5314
>             Project: Kylin
>          Issue Type: Bug
>          Components: Others
>            Reporter: Jiale He
>            Priority: Major
>             Fix For: 5.0-alpha
>
>
> h1. Root Cause
> 校验的信息扩展到了整个模型上,因此只要出现了列名和度量名一样的情况下,用户就无法导出 TDS,这样对原来的产品行为破坏性挺大;但如果不对重名的问题进行校验,那么就可能导出用户无法打开的 TDS 文件,两种处理方式都比较极端,因此需要考虑一个更为折中的方案来处理重名问题。
> h1. Dev Design
> 根据定义,需要在校验的时候就知道导出的级别是什么,根据导出的级别来进行校验:
>  * 如果导出级别是 {{AGG_INDEX_COL}} 那么只会对聚合索引用到的维度和度量信息进行校验;
>  * 如果导出级别是 {{AGG_INDEX_AND_TABLE_INDEX_COL}} 那么会对索引用到的维度和度量信息进行校验;
>  * 如果导出级别是 {{ALL_COLS}} 那么会对模型上所有可用的列以及度量进行校验;
>  * 如果级别是 {{CUSTOM_COLS}} 那么会结合用户传入的 dimension 和 measures 进行校验(目前前端没有这个功能,一个叫 bi_export 的API 有这个能力和 KE 前端不是同一接口)。
> 相应地,前端需要将这个导出级别参数传递到后端,这个参数后端会做一个可选参数,如果不填,默认就是 {{{}AGG_INDEX_COL{}}}。前端之所以要做分开校验是基于下载 TDS 走的是浏览器下载的一个调用,与我们常规的 API 请求存在差异,这种调用无法获取到 API 请求的结果。因此,内部使用的 API 不再在导出的接口中校验,但是 OpenAPI 会保留校验逻辑。



--
This message was sent by Atlassian Jira
(v8.20.10#820010)