让决策更智能
新一代智能数据分析平台

常见问题排查:数据集常见问题(二)

观小析发表于:2022年03月03日 17:21:30更新于:2022年04月26日 16:08:03

1、在模型结构里用SQL修改列名时,为何没生效?

默认了字段关联,将目标字段选为“无关联”就可以了。

2、实时数据集能暂停更新吗?

不能,如果要停止实时数据更新,下次再用数据集的时候也要重新创建(初始化)才行,

如果场景是:双十一才需要使用实时看板,然后就是明年双十一再用,

那建议是该实时数据集用完即删,下次用的时候再建。

3、数据集id已经获得,哪个表可以关联到数据集的中文名称?

数据集的中文名称在内置数据集builtin_data_source里

4、直连数据集的更新过程

「直连数据集」的更新过程要做两件事情:
(1)修改该数据集的version
(2)获取该数据集的行数
第一件事情会在「更新」的第一时间完成,很快。第二件事稍微慢一点(有时你在界面上看到转圈圈就是因为这个工作比较慢);而基于该直连数据集的卡片,在刷新的时候,如果发现数据集的version和上次相比没有改变,则不会将sql发到客户数据库查询,而是读的本地缓存。

反之,如果发现数据集的version变了,就会将sql直接发到客户的数据库查询,并且缓存到本地。

5、对用户能够查看的数据行内容进行限制,方法有哪些?

具体要看客户这边数据集的数据结构和用户信息来实现。

(1)一种是直接限制数据集中字段值的条件;

(2)一种是通过用户属性和字段值来进行匹配来进行限制;

每次的公式设置都是需要通过设置关联的用户组/用户来实现的,也即公式仅对这些用户组/用户生效。

6、如果做了行列 那么数据集的权限设置处就不用设置是吗?

数据集的权限设置处是资源权限,决定哪些用户拥有这个数据集的权限。(如果没有这个权限,用户那边是根本看不到这个数据集的);

下面设置的是数据的行列权限,决定用户能看到数据集中的哪些具体行/列的数据信息。

如果客户场景本来就规划不用看数据集,用户在页面/卡片上看数的时候,数据集中设置的行列权限也是对卡片生效的。用户如果只是从卡片上看数,就不需要设置数据集权限的。

7、相同的行权限条件设置,从一个数据集拷贝到另一个数据集,为什么就报错了?

行列权限的生效,只在对应数据库中完成的。例如,GuanIndex数据集对应的是我们的Spark计算引擎,而SQLServer之前数据集对应客户的SQLServer数据库。不同的数据库使用的SQL函数是有区别的。请根据对应的数据库编辑合适的SQL过滤条件。

8、Clickhouse设置行列权限报错

Clickhouse的数据类型检查非常严格,容易出现类型不匹配的情况。例如如下报错:

Types of array and 2nd argument of function \"has\" must be identical up to nullability, cardinality, numeric types, or Enum and numeric type. Passed: Array(String) and Nullable(String)

报错信息在提示数组类型为String,而传入的参数是 Nullable(String),即引用数据集字段是有null值的,两者比较不匹配。

要解决该问题,把用户属性也转换为Nullable(String)即可,例如:

has(cast(splitByChar(',',[CURRENT_USER.城市]),'Array(Nullable(String))'),[城市])>0

9、API上传数据的数据集,可以指定存放数据集的文件夹吗?

不可以在api上传时指定,默认存放在根目录下,上传成功后可自行存储移动;

10、抽取数据库新增列没用更新到数据集的原因?

现象:在数据集“更新”预览里也能看到新增列,但是概览页面没有,每天定时抽取的数据集中也没有新增列;

原因:建立数据集时有过关联数据和重命名,但是用户没有对新增列进行过重命名,说明数据模型没有更新过,还是原来的数据模型结构。

解决方法:点击“模型结构” -- “编辑” -- 检查是否需要编辑 SQL语句 -- 预览 -- 确定;在“字段关联确认”弹出框里,检查原来的字段关联(重命名信息),点击“确定”,就能看到新增列字段名,进行重命名,点击“下一步”后数据集会直接更新。

11、手工表追加数据和替换数据的区别?

替换数据分两种:

(1)替换数据之前的字段原来就存在的,当你替换数据,上传数据集的时候,它就是按照之前你要替换的这个字段的位置,弹出替换数据的框,并不会按照你上传数据的excel的顺序来;

(2)替换数据的时候字段不存在,那么新增的这列就会在后面;

追加数据:追加的数据的话是在现有列的字段下增加数据行;

12、选择覆盖旧数据的更新方式,会有什么影响?

要看原本的数据是什么情况。

(1)覆盖的话当前SQL的执行结果将替换原有数据,所有历史数据将会被清空。

(2)如果是增量更新,前历史有一些数据,数据库中已经不存在了,选择覆盖就会丢失。

(3)如果是当前执行的sql更新后就是您这边所需的所有数据,是可以覆盖的

13、手工表追加数据,使用一模一样的数据集追加,且选择去重主键为何数据量会膨胀?

排查选择为去重主键的字段是否含有null值,我们产品的设计是null对null无法判断是否是重复,因为都是不确定的值,所以都会保留下来,所以数据量会膨胀。

含有null值的字段一定不能作为去重主键,无论是手工表追加数据还是数据集增量更新主键去重;

14、在观远BI上上传手工表创建数据集,可以使用excel和csv的压缩文件吗?

(1)在上传时选择Excel文件类型时,无法上传excel的压缩文件

(2)上传时选择CSV的文件类型时,选择文件时可以选择excel的压缩文件,但是会提示上传失败;可以上传成功csv的压缩文件,CSV支持上传压缩包(zip文件),并支持自动解析

15、BI创建数据集手工表(csv,excel)和数据库创建的区别是?

采用手工表创建数据集,数据字段名称不可修改

数据库创建数据集支持字段重命名

16、高性能数据集如果分区超过100个是不是就不能切换了,如果分区参数不选,对数据集的性能会有影响吗?

普通数据集转换高性能数据集的时候是必须要选择分区的(分区也是构成高性能数据集能够高速查询底层框架)。 同时分区太多也会影响查询速度,所以高性能数据集做了100个分区的限制,超过这个限制是不允许切换成高性能数据集的。

(后续数据集的其他常见问题也会继续补充)



    您需要登录后才可以回复