1.概述
高速主题表是一种适用于大数据量快速查询分析的主题表,且数据量越大提高分析效率越明显。一般数据量在100万以上时表现更佳,但不适合大并发。也常用于目标库数据处理很慢,数据变化不频繁,又需要能快速分析的场景中。
高速主题表会将数据存储到内置的高速缓存库中,生成的库表会冗余维表的字段,故当源表和维表数据变更后,需要定时或手动进行数据更新。
2.创建高速主题表
打开【数据集】,选择“主题域”下的“主题集”并展开,点击“主题表”在页面右侧“新建主题表”。下列带有图标的主题表类型,都支持创建为高速主题表。
在这里,我们以根据数据库表创建高速主题表为例。
第一步,选择拾取位置为数据库,并同时选择连接池、数据库表和数据库表相应字段。在【全部字段】中左键双击所需字段(或使用箭头按钮),若字段在右侧【已选字段】中显示,则选择成功。
若拾取位置选择【主题集】,界面操作与上面类似。
第二步,设置两张数据库表的表连接关系,如下图所示。
第三步,对两张数据库表连接后生成的新字段进行编辑,设置字段的对应维表、字段描述等等,如下图所示。
第四步,设置主题表信息,包括标题、名称、数据库表名、立即更新、定时更新等,如下图所示:
更新方式有“全量更新”和“增量更新”。这里以“增量更新”为例,如下图。若【更新依据】选择“从日期字段更新”,则需要设置【更新时间字段】,这里只能选择日期类型字段,这样,每次进行数据更新时,都会将表中该字段列的时间大于上次更新时间的数据追加到库表中,如果不设置更新时间字段,则默认追加全部数据。
若【更新依据】选择“从sql查询语句更新”,则需要设置【SQL语句】。
以下是根据主题表的字段生成的sql示例,仅供参考使用。其中sql语句查询的字段必须包含该高速主题表的所有字段(只能多不能少),比如我们要根据表中的日期字段A进行增量更新,过滤条件可写作:where A> <#= A #>,若根据日期字段B字段进行增量更新,则写作:where B> <#= B #>,那么sql语句查询出来的数据就会追加到高速主题表中。
| |
|---|
| select USERID_,DB2INDEX_,RQ,XQ,CYRW,SFCC,ZRGS,FJGS,QJGS,GZNR from (FACT_GRZB) where updateTime > <#=updateTime#> |
最后点击【确定】,完成主题表创建,可返回主题表界面查看该高速主题表。
后续如需调整数据的更新策略等,可点击该主题表标题或【编辑主题表】进入编辑界面修改。
注意:若源表结构发生变化(增删字段),平台目前不支持更新高速主题表的结构,需要重新创建。
3.更新高速主题表数据
当源表和维表数据变更后,除了定时更新,平台同时支持用户手动更新数据,在主题表页面中点击【更新数据】即可。
在主题表编辑页面的【更新历史】-【详情】中,可查看历史更新日志。
4.使用注意事项
高速主题表虽然在大数据量的分析查询中表现出色,但仍存在不少局限性。最大的局限在于不支持做表连接,需要事先将表连接好再做成高速主题表,而不是先做成高速主题表再连接。除此之外,目前暂不支持的功能如下:
1) 不支持多张高速主题表字段关联计算
2) 不支持按“选择指定维项目”和“按条件分组”
3) 不支持对设置了数据期条件的增幅、增减额的指标求topn。
4) 同一浮动区域中,不支持同时存在“常规分组”、“只选择不分组”或“选择去掉重复项”中任意两种类型。
5) 不支持通过导出导入主题表的方式,载入高速主题表所需的数据。
6) 不支持is操作符结果不是null或not null的场景。
7) 不支持嵌套算子某层内有不同算子嵌套级别的统计指标,例如_S(XXB.E24+_A(XXB.E25))这样的表达式。
8) 不支持排序时指定null排在的位置。
9) 不支持中文排序。
请先登录