设为首页收藏本站 开启辅助访问
 找回密码
 立即注册

QQ登录

只需一步,快速开始

用新浪微博登录

只需一步,快速搞定

查看: 14440|回复: 259

【小白实例讲解】增量抽取订单数据

  [复制链接]

47

主题

620

帖子

9544

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9544
发表于 2016-2-29 21:21:16 | 显示全部楼层 |阅读模式
    背景:增量抽取数据,在我们实际运用中特别多,虽然听起来很简单,但是也有许多细节需要注意。今天我来给初学者做一个图解增量抽取。
    业务需求:从mysql数据库中,抽取订单和订单明细数据,做一定的轻度清洗,并将清洗后的数据存放到指定目录下,清洗出来的错误数据存到另一个存error data的目录。
    实现步骤:
    1.使用表输入控件,数据库连接选择mysql,我这儿使用的参数配置,具体的参数配置在.kettle目录下的kettle.properties文件中,如下图:
     
    2.将取数的SQL逻辑写到代码填充处,并且取数的时间范围,用参数代替,并记得勾选replace variables in script这个选项,否则kettle.properties文件中的参数值不会被替换到SQL中。
      
    3.这个控件的功能是完成数据校验,这儿举例,对购买商品数量这个字段,做了一个校验,其中:首先校验数据类型,类型必须是interger,不允许为字符串或者小数,其次对数值做了校验,最小值为1,最大值为9000000000000000000。另外底部的框出来的两个按钮,第一个new validation,是创建一个新的校验规则,第二个remove validation是删除当前选中的校验规则。另外还可以设定其他的校验规则,比如数值是否允许为空,是否允许以某个字符串开始或者结尾,等。需要小伙伴们自己打开这个控件去尝试一下。
     
    4.通过CheckOrders这个控件之后,有两条分支,第一条蓝色的,是校验之后,满足规则的数据,第二条红色的,是不满足校验规则的数据,可以用过点击这条分支(hop)来更改数据的输出控件。
   
    5.我们先说第二条分支-->错误数据的处理,Concat这个控件的功能是完成字段拼接,将多个字段,使用指定的分隔符拼接成一个目标字段。
        target field name : 拼接后目标字段的名称,这儿我给它的字段命名为 “data”.
        length of target field:是限制输出字段的长度,如果拼接后字段长度太长,可能会在数据处理上造成一些影响,比如脏数据入库,可能会因为长度过长而报错。在kettle中,0是表示不限制长度,而非长度为0.
        separator:分隔符。将多个字段拼接,需要指定分隔符,方便以后对数据解析。
         fields:需要拼接的字段列表,可以通过get fields这个按钮来获取。
         advanced:高级设置,有兴趣的可以去深度研究一下。
   
    6.这个控件的功能是做一些筛选,我这儿是筛选出品牌ID不为0的数据,如果为0,就直接废弃。这儿需要注意的是,如果只需要筛选出满足条件的数据集,就可以省略true和false数据集的目标控件,有些伙伴喜欢把false的数据集指向一个空操作,这个我个人觉得比较多此一举。
   
    7.这个控件是将满足条件的增量数据存放到指定的文本中,这儿文本的目录是使用的参数形式,读取kettle.properties文件中配置的目录,输出的文件以csv为后缀,具体的配置,大家可以下载附件中的转换,自行研究。
      
       写得不好,大家一起交流。有不同的见解,请在文章后面留言,我们一起进步。
       附件回复可见,谢谢。
      
游客,如果您要查看本帖隐藏内容请回复


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
楼主热帖

47

主题

620

帖子

9544

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9544
 楼主| 发表于 2016-2-29 21:23:05 | 显示全部楼层
另外增量抽取数据,需要对时间进行比较复杂的处理,我录的视频是专门针对时间处理的,欢迎大家查看,并提出建议。小白视频,处女作,大家多支持啊,给我信心
http://www.ukettle.org/forum.php ... d=113&fromuid=2
(出处: Pentaho | Kettle)

21

主题

119

帖子

580

积分

高级会员

null

Rank: 4

积分
580
发表于 2016-2-29 21:26:24 | 显示全部楼层
很实用,谢谢小白

0

主题

9

帖子

56

积分

注册会员

Rank: 2

积分
56
发表于 2016-2-29 21:26:41 | 显示全部楼层
学习了
回复

使用道具 举报

4

主题

47

帖子

458

积分

中级会员

Rank: 3Rank: 3

积分
458
发表于 2016-2-29 21:27:14 | 显示全部楼层
支持小白,大数据的赢家!

0

主题

3

帖子

54

积分

注册会员

Rank: 2

积分
54
发表于 2016-2-29 21:31:47 | 显示全部楼层
回复

使用道具 举报

0

主题

19

帖子

873

积分

高级会员

Rank: 4

积分
873
发表于 2016-2-29 22:27:09 | 显示全部楼层
我的偶像,膜拜

0

主题

3

帖子

18

积分

新手上路

Rank: 1

积分
18
发表于 2016-3-1 08:25:34 | 显示全部楼层
小白加油!!!
回复

使用道具 举报

12

主题

73

帖子

553

积分

高级会员

Rank: 4

积分
553
QQ
发表于 2016-3-1 10:08:48 | 显示全部楼层
顶一下...
回复

使用道具 举报

1

主题

5

帖子

29

积分

新手上路

Rank: 1

积分
29
发表于 2016-3-1 13:31:08 | 显示全部楼层
好好学习一下
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋| Pentaho | Kettle ( 沪ICP备14044064号 )     

GMT+8, 2017-4-26 18:06 , Processed in 0.269968 second(s), 30 queries , File On.

Powered by Discuz!  uKettle

Copyright © 2014 Comsenz Inc.

快速回复 返回顶部 返回列表