一、准备业务数据

将shop.sql 导入到mysql中

Kettle处理电商数据 - 图1

Kettle处理电商数据 - 图2

Kettle处理电商数据 - 图3

:::color2 1、shop 数据库是业务数据库,支持公司的电商系统的正常运转

2、shop_bi 是分析数据库,主要用于分析各项指标。

  1. 将指标的分析结果也存入这个数据库中。
  2. 分开的好处是:减少业务数据库的压力。

:::

二、使用kettle 实现ETL

其实工作就是将 shop数据库中的数据导入到 shop_bi 中。

Kettle处理电商数据 - 图4

1、完成行政区域表areas的导入

Kettle处理电商数据 - 图5

表输入:

Kettle处理电商数据 - 图6

Kettle处理电商数据 - 图7

Kettle处理电商数据 - 图8

Kettle处理电商数据 - 图9

Kettle处理电商数据 - 图10

Kettle处理电商数据 - 图11

Kettle处理电商数据 - 图12

Kettle处理电商数据 - 图13

Kettle处理电商数据 - 图14

数据要共享:

Kettle处理电商数据 - 图15

2、完成商品分类【goods_cats】的导入

步骤跟第一个areas的导入一摸一样。

Kettle处理电商数据 - 图16

Kettle处理电商数据 - 图17

Kettle处理电商数据 - 图18

3、每隔一周执行一次脚本

Kettle处理电商数据 - 图19

Kettle处理电商数据 - 图20

Kettle处理电商数据 - 图21

Kettle处理电商数据 - 图22

4、订单orders每日数据抽取

除了订单表,orders_goods、users、goods这些表都是每天抽取一次。

以订单表为例,说明导入的方式。

转换类型任务,怎么传递参数:

Kettle处理电商数据 - 图23

Kettle处理电商数据 - 图24

sql:

  1. SELECT *,str_to_date('${dt}','%Y-%m-%d') as dt
  2. FROM orders
  3. WHERE substr(createTime,1,10)= '${dt}'

Kettle处理电商数据 - 图25

5、每天执行的一个job任务

Kettle处理电商数据 - 图26

Kettle处理电商数据 - 图27