SMart报表的创建依赖两种引擎,一种是Lighting模式,一种是Mysql模式。这两种模式不同的地方是前者可以处理大数量级的数据,而后者只能处理小量级的数据,可以在smart内部完成计算。
想要完成一份完整的数据报表,需要从建表开始准备,这里的表是在阿里云的服务器下进行的。一般步骤如下:
1.建表
先在一个临时查询界面输出一份建表的SQL语句:
DROP TABLE IF EXISTS table1;
##先检查一下原有的库中是否有同样的表名,如果需要删除原来的表记得用 'DROP'
CREATE TABLE IF NOT EXISTS table1--表名
(
date_sql STRING COMMENT '日期',
city_name STRING COMMENT '城市',
are_wa STRING COMMENT '统计维度'
)
COMMENT '表的简短描述'
PARTITIONED BY
(
dt STRING COMMENT 'yyyy-mm-dd'--表的分区,(dt为表中设置的参数)
);
2.插入数据(逻辑)
建完表之后,我们就可以往里面插入数据了。
在插入之前,我们一般都先写好取数逻辑,在逻辑里我们要设置参数,每天数据库要跑一遍,也就是每天我们都会在表中看到新增的数据(以天为单位),所以在设置取数逻辑的时候只需要取一天的即可。下面是一个实例:
INSERT OVERWRITE table table1 PARTITION (dt='${d_date}')
--insert overwrite会将同样日期的数据覆盖
--insert into直接在表的之后一行插入数据,不管是不是重复数据
select '${d_date}' as date_sql,a.city_name, sum(are_wa ) are_wa
from table2 a
where dt= '${d_date}'
group by a.city_name,city_property
可以看到,在上面的命令中有一个参数dt=’${d_date}’,如果要设置多个参数也要在建表的时候写好
验证好自己的逻辑没错以后要注意设置工作台右端的数据,需要注意的是参数格式d_date=${yyyy-mm-dd}:
这之后设置好这个任务的上下游即可。接下来是SMart部分的配置。
3.Smart配置
3.1Lighting模式配置
在配置报表之前要进行事实表定义和指标定义,添加要配置的字段,这样在报表配置的时候才能找到对应的指标
3.2Mysql模式配置
在进行报表配置之前要先同步数据表,在数据同步那里将要配置的底表进行同步(如需要补数据先去运维中心补对应阶段的数据)
在配置页面:在想建表的最上级右键:创建节点——>右面的页面里最右边点击"+"——>点击添加想配置的类型,进行对应的配置即可