使用集市数据

<< Click to Display Table of Contents >>

当前位置:  VooltDB数据集市 

使用集市数据

复制链接

1. 集市数据集

在数据集中通过创建数据集市数据集从数据集市中提取数据进行建模。用户需要在数据集中点击数据集市数据集,打开数据集市数据集编辑器。选择指定的文件夹,从中提取数据进行建模。

【文件过滤】可实现从数据集市的云文件夹中提取相应的云文件进行建模。

例如:

文件夹中的所有文件均携带日期标签,用户即可通过文件标签来提取指定时间段的数据,参见打标签的作用

2. 通过DATA_MART数据源访问集市数据集

另外可以通过GDriver驱动,通过JDBC的方式访问集市数据集,并对集市数据集进行加工,参考DATA_MART数据源来创建数据源,支持的SQL语法参考DATA MART数据源支持的函数

数据建模完成之后,需要在报告编辑器中进行数据分析展现。通过表格、图表等组件绑定数据集,进行数据展现分析。详细的数据展现分析请参考制作可视化报告

3. Map Side Join

通过Map Side Join能把Join的运算下推到每个VooltDB节点,从而大幅提升Join运算的效率。

3.1 星形数据,多张维度表和一个事实表Join

在分布式系统中,当有星形数据(一个大表,若干个小表)需要Join的时候,可以将小表的数据复制到每个VooltDB节点,执行Map Side Join,而无须到Client 节点进行连接操作,从而提升表连接的效率。

维度表导入数据到集市:在VooltDB集市中,我们可以定义维度表,即Join操作中的小表。在用户导入维度表的时候,将维度表分发到每个节点上,如下图所示:

MapSideJoin1

当新加节点时,也需要将现有的维度表分发到该节点上。

事实表导入数据到集市:事实表也通过调度任务的增量导入数据作业将数据导入集市。然后基于事实表和维度表的集市数据创建集市数据集,基于维度表和事实表的集市数据集做Join。当执行数据集市数据集时,可以进行Map Side Join的条件是:

组合数据集,自服务数据集或者是基于DATA_MART数据源访问集市数据集。

Join操作中,必须符合星型数据,且小表是维度表(要求 、Join 操作中,所有表中有且只有一个表是非维度表)

其中组合数据集和自服务数据集使用联接操作符(内部联接,左侧联接,右侧联接,外部联接)实现 Join, 组合数据集实现Map Side Join,如下图所示 。

事实表和维度表都是基于集市数据创建的集市数据集。

MapSideJoin2

基于Data Mart数据源的SQL数据集实现Map Side Join,在数据集中输入如下 SQL 语句可以实现事实表和维度表的Join,如下图所示:

Mapsidejoin4

3.2 事实表和事实表Join

在8.5.1版本中,对Map Side Join进行了进一步优化,在满足维度事实表(大表Join小表)的基础上,增加分片入集市功能,使两个大表之间也可以执行Map Side Join,提高Join的计算执行效率。

使用分片列进行Map Side Join ,必须符合以下几点要求:

使用分片列功能需要先将组合数据集中的子数据集入集市:通过新建调度任务-增量导入集市的方式,勾选分片列属性,选择join时的联接列来进行分片。

参与Join的两个子数据集需要保证联接条件中选择的联接列都经过分片,且在入集市时勾选的分片列都要做为联接条件。