A公司需要将用户数据和消费数据关联为宽表,并加载至目标表中,以便后续进行分析。
数据示例如下:
表-1 用户数据结构
|
ID |
NICKNAME |
PHONE |
CTEATETIME |
|
1 |
张三 |
13888888888 |
2014/4/8 23:36:58 |
|
2 |
李四 |
13999999999 |
2015/3/26 13:15:06 |
表-2 消费数据结构
|
ID |
USERID |
CREATETIME |
PRICE |
|
1 |
1 |
2016/2/8 10:36:58 |
100 |
|
2 |
2 |
2016/3/8 11:36:58 |
80 |
|
3 |
1 |
2016/4/8 12:36:58 |
60 |
|
4 |
2 |
2016/5/8 13:36:58 |
90 |
对于分布在不同数据库中的数据,可以通过数据库查询组件进行查询关联,再使用表加载组件将数据加载至目标表中。
数据流向:表抽取 à 数据库查询 à 表加载。
ETL方案:先使用表抽取组件抽取用户数据,然后使用数据库查询组件关联查询消费数据,关联条件为:用户数据.ID = 消费数据.USERID。最后将数据加载是目标表中,如图-1所示。
图-1 ETL任务设计图示
第一步:配置表抽取组件。
“基本信息”配置:配置进行数据抽取的数据库,以及需要抽取的数据。
图-2 “基本信息”配置
“字段”配置:“字段”页签下展示通过SQL语句查询出来的字段。如果对SQL进行了手动调整,需要进入字段页签重新获取字段,如图-3所示。
配置完成后,单击<确定>按钮保存组件配置。
第二步:配置数据库查询组件,该组件可以使用设置的关键字在目标表中查询,并从查询结果中返回指定的字段。配置用户数据.ID为查询条件,查询用户数据.ID = 消费数据.USERID的数据,如图-4。
第三步:配置表加载组件。
选择数据库连接、目标表后,根据需要配置字段映射即可。