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

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

观小析发表于:2022年03月03日 17:13:35更新于:2022年04月28日 14:11:44

1、guan_index抽取数据最短间隔刷新时间是多久呀?

这个和数据集的更新设置有关。 自动的定时更新一天最多4次,可根据业务需求,若实时性要求很高如15分钟看一次数据,可以考虑用直连,实时性比较高,但是需要注意ETL无法使用。

2、询问直连和guan_index具体区别?

直连一般是直接查数据库的,guan_index也就是抽取的话是先把数据从数据库抽到BI平台上,再直接在BI上进行处理和计算。

直连的数据集的卡片再去写函数进行计算时是直接用对应数据库的语法,抽取的话要用spqrk语法。

直连不能用ETL ;

3、直连数据库也是以缓存有效周期为准的,要勾选url触发吗?

直连一般都是直接去查询数据库的,但每次都去查库的话,数据库压力会很大,所以我们有缓存的机制。缓存的机制是在卡片有相同的查询sql,且缓存版本没有过期的情况下,才可能命中缓存,减小数据库压力。

url触发只是一种外部触发更新的机制。不论是哪种更新方式触发的更新,数据集更新的话就会刷新缓存的版本号。

对实时性要求比较高的话,可以勾选上支持实时卡片数据。选择支持实时卡片的情况下,如果需要减少一部分数据库压力,可以调整一下默认缓存有效时间。

4、观远平台,什么时候使用原来数据库的语法,什么时候使用的spark的语法 ?

观远数据计算引擎基于Spark搭建,因此Spark支持的SQL函数均可以在观远平台上使用,比如Guan-index数据集、ETL输出数据集、Workbench导入的数据集、Excel/CSV 数据集。 

但是对于直连数据库的数据集,由于各类型数据库对SQL标准支持有差异,所以函数是不通用的,直连数据库使用数据库本身的语法。

5、为什么数据集的数据更新周期基于每天来说只能选择四个时间点来更新?

比如(打个比方,运行一次要1小时,一天运行4次要4小时,如果改为8次,那就要8小时,连带着如果有下游任务基于这个ETL更新,每更新一次就可能更新一次,那就是8次*2,如果下游有N个任务就是8*n次)对应各种任务呈倍数增长,效率有较大影响。

6、两个数据账户的表进行join可以吗?

跨数据账户的表无法直难找这个方式关联,建议使用ETL进行表关联,需要注意⚠️相同数据账户跨库的表可以实现关联,跨数据账户不可以

7、手工表(csv、excel)替换数据操作

假设场景:

客户想要删除csv数据集中的多余数据列,进行了替换数据的操作,在相应的数据表中删除了之前数据集中的多余列,替换这以后该列仍旧存在,内容全部为null,大家一般都会存在疑问。

解答:原来存在的数值列不会被直接删除,替换新的表之后????如果设置了关联,原来的列就会直接被新的关联字段取代,但如果没有关联的话,他还会在那里,然后会变成null值。

考虑到该字段可能在卡片里被引用过,如果直接删除的的话,卡片里结构就会出错。

8、请问如果把计算字段逻辑写到数据集SQL里能缩短查询时间吗?

常见客户场景:目前有张不到100万条记录的数据集查询超过10秒,数据集SQL在大数平台查询不到1秒,观远里加了几十个同比计算字段,用了sum等函数;

数据应该是使用直连数据集,时间方面包涵两部分,一部分是去数据库中取数,一部分是在BI里计算(加了几十个同比计算字段,用了sum等函数)再加卡片样式的渲染时间,假如将这部分复杂计算放在sql里,那么在数据库中取数的过程时间就会延长,所以会发现这样调整区别是不大的,想要根本解决这个问题的话这个要在这边最底层数仓中将这些复杂计算的指标提前就算好,这边直接取数操作。(????此消彼长)

9、想要批量获取数据集中的所有表名

数据集的模型结构中可以查看数据集的sql信息,这里能看出是用来数据集是用的哪张表,批量可以通过api获取,数据集对应的数据库表要看相当于是看数据集的query信息,方法可以参考一下这篇文档

http://help.guandata.com/hc/kb/article/1519178/

10、常见报错:连接Hive数据库创建数据集的时候,代码是可以跑出数的,预览也都正常,但是一更新就显示这个报错:/guandata-store/table_cache/guanbi/hd2dbf5ec63d44583a1a724e doesn't exist

说明数据集创建后还在排队,没有运行完,等任务结束就好了,客户往往会在数据集没有运行完的时候就去点击预览等操作;

11、如何判断一张数据集表是不是“全量更新”  ?

更新方式到数据集更新页面可以看到的,只要没有勾选增量更新,SQL 语句里没有限定时间条件,那就是全量更新的。

若全量更新:需要注意⚠️客户方ERP里数据结构没变的话会更新到,万一字段名称或者数量变动了,那改动部分就更新不到;

全量更新只是基于原来已经抽取到的字段来全量更新,新加的列不会自动更新;

(1)如果字段有变动,需要重新更新:http://help.guandata.com/hc/kb/article/1472104/

(2)如果没有字段更新,只有内容的话不需要重新更新;

12、只读用户是没有导出CSV文件功能的吗?

只读用户只支持导出excel,不支持导出csv,另外, 普通用户和所有者的直连和实时数据集的卡片也是只能导出excel

13、数据集设置列权限,在数据集概览页面,没有权限的人只能看到该列下的数据为null,能否直接隐藏看不到的列?

数据集详情页本身就是要展示完整数据结构的, 如果隐藏了,那有信息不对称问题(上面写着10列,下面因为没有列权限,只能看到5列,那更容易造成误解,以为系统有bug),

如果是做成表格卡片,那么如果没有这列的列权限,该列字段会隐藏,

所以,实际使用起来 是不影响的。

14、直连数据集实时无缓存的卡片预警为何没被触发?

有可能是:没有打开实时页面。勾选了“支持实时卡片数据”,但页面上没有打开“实时数据”开关,如果没有访问页面,页面数据是不会更新的,也就不会触发预警。

 15、数据集支持另存为吗

支持,需要在管理员设置——系统设置——高级设置打开开关

001622086003bec6e26569117a65a11

16、添加主键,数据获取量跟原数据里的数量对不上?

排查一下主键里是否有大量是null的行,如果去重主键有null并且该列是数值类型的话,会把所有null的行丢掉,导致数据变少,建议先把null处理掉再抽取,或者全量更新。

17、传数据集的时候,重名的能传上去吗?

同个文件夹下是不支持相同名称的数据集上传的,不同文件夹下是允许两个相同名称的数据集存在的。

18、数据集创建好之后是否可以更改连接方式?

不能;

19、创建数据集时,数据库预览报错,"column ambiguously defined"

报错原因为:

①未明确定义列

select 查询的字段在from的两张表中都存在,导致数据库无法区别需要查询的字段来自于哪张表

②查询中有重复字段

如:select a.name,a.name

20、新建数据库数据集时,用了IF嵌套函数,为何会预览失败?

由于IF嵌套时间复杂度太高,是幂次增长的,如果在预览界面使用了多个嵌套IF的sql,很有可能会导致预览超时,建议使用case when替代IF嵌套函数。


    您需要登录后才可以回复