kettle实现从api接口全量抽取数据到数据库中

1.获取api接口的url地址,这个客户会提供相应的api接口

2.根据接口的信息在数据库中建表和字段

 3.kettle作业整体流程图如下

4.设置表名,变量名是tab_name(这个起什么名字都可以)

值ods_school_floor_area是第2步你在数据库中建的表的名字

5.清空表作业下面新建一个执行SQL脚本,写入truncate table ${tab_name}; 这个的意思是删除表,表的名字引用的变量(我这里有很多表所以把表名设置了变量,这样不用每一个清空表都建立一个转换,如果你只有一个表的话可以不用变量名,直接删除表名)

6.获取token作业下新建转换

7.获取token作业下的生成记录

字段名(什么都可以)这里叫url

值是你api接口 的url地址加上App key、App secret(客户提供的App key、App secret)

8.HTTP client

字段中获取url打勾

url字段名是第7步你起的字段名

Encoding这里改为GBK,(是因为客户的数据库编码是GBK格式,默认的是utf-8)

结果字段名是接口返回名result(这里根据接口返回名为准,客户这里返回名叫result)

 

9.API解析

从字段获取源选择第8步的返回名result

10.字段名称为token,路径是接口下的$.result.access_token

 

11.token设置一个变量名

12.获取页数

13.获取页数下的转换

14.获取上一步的token变量

15.JavaScript代码,问号前面的是api接口网址,后面access_token是键值,后面的token是变量,最后的per_page表示当前的页面的数据条数。

字段名随便起这里叫url_js

 16.HTTP client这里跟第8步差不多

17.api解析

 

18.字段这里名称为page,路径是返回内容的最大页数

19.设置变量,变量名为最大页码数max_page

20.这里设置变量页数page

21.检验字段的值,变量名选择第20步的page,成功条件的值选择第19步的max_page

22.JavaScript

23.最后一步获取信息

 

24.获取变量

 25.JavaScript代码和前面15步一样,字段名称换一个

 

26.HTTP client

27.api解析

 

28.字段 ,这里的名称对应第2步数据库中的字段名,路径也是差不多的返回内容+返回数据信息+字段名

29.获取系统时间,用来获取etl抽取时间

30.表输出选择目标表

31.数据库字段把多余的删掉只留数据库内的字段,1234都删掉,在数据库内多建立一个time字段,然后留一个time字段用来查看ETL的抽取时间

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 6
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
kettle是一款强大的ETL工具,可以用于数据抽取、转换和加载。如果要使用kettle抽取数据库内所有表的数据,可以按照以下步骤进行操作: 1. 首先,通过kettle数据库连接功能连接到目标数据库。你需要提供数据库的连接信息,包括数据库类型、主机名、端口号、数据库名称、用户名和密码等。 2. 在kettle的工作区创建一个新的Transformation(转换)任务。在Transformation,你可以添加多个步骤来完成数据抽取的过程。 3. 在Transformation添加一个"Table Input"(表输入)步骤。在该步骤的设置,选择目标数据库,并选择要抽取数据的表。 4. 添加一个输出步骤,例如"Text File Output"(文本文件输出)。在该步骤的设置,选择输出的文件路径和格式,以及要包含的字段。 5. 可以根据需要添加其他步骤,例如数据转换、数据过滤等,以满足数据处理的要求。 6. 运行Transformation,kettle将按照设定的步骤顺序依次执行,并将数据库内所有表的数据抽取到指定的输出文件。 7. 完成数据抽取后,你可以根据需要对输出的文件进行进一步处理,例如导入到其他系统或数据库。 总结起来,使用kettle抽取数据库内所有表数据的过程包括连接数据库、创建Transformation任务、设置数据抽取步骤、运行任务并输出结果。这样就可以方便地将数据库内的数据提取到指定的输出文件,为后续的数据处理和分析提供方便。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大威天龙豁哈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值