国内镜像下载地址: http://mirror.bit.edu.cn/pentaho/Pentaho+8.2/client-tools/
pdi-ce-8.2.0.0-342.zip
启动spoon.bat
jdbc:mysql://localhost:3306/express?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=Asia/Shanghai
com.mysql.cj.jdbc.Driver
输入 -> 表输入 拖到游标
双击表输入
输出 -> 表输出 拖到右边
http://www.kettle.net.cn/2460.html
转换包括一个或多个步骤,步骤之间通过跳(hop)来连接。跳定义了一个单向通道,允许数据从一个步骤流向另一个步骤。在Kettle中,数据的单位是行,数据流就是数据行从一个步骤到另一个步骤的移动。
一个步骤的数据发送可以设置为轮流发送和复制发送;轮流发送:将数据行依次发给每一个输出跳;复制发送:将全部数据行发送给所有输出跳。(shift + 鼠标左键 可以快速地新建一个跳)
?? 在Kettle中,所有的步骤都以并发的方式执行,当转换启动后,所有的步骤都同时启动,从它们的输入跳中读取数据,并把处理过的数据写到输出跳,直到输入跳里不再有数据,就中止步骤的运行。当所有的步骤都中止了,整个转换就中止了。数据行:一个数据行是零到多个字段的集合。
Kettle使用回溯算法来执行所有的作业项。即执行中的某条路径的某个节点时,要依次执行这个节点的所有子路径,直到没有再执行的子路径,就返回该节点的上一个节点,在反复该过程。
注意:在作业中定义的跳 是控制流,在转换中定义的 跳 是数据流
作业(job)。作业按照一定的顺序完成,因为转换以并行方式执行的,就需要一个可以串行执行的作业来处理一系列按照顺序完成的操作。一个作业包括一个或者多个作业项,这些作业项以某种顺序来执行。作业执行顺序由作业项之间的跳(job hop)和每个作业项的执行结构来决定。如同转换,作业里面也可以包括注释。
作业项。作业项是作业的基本构成部分。如同转换的步骤,作业项也可以使用图标的方式图形化展示。作业项的注意点。新步骤的名字应该是唯一的,但是作业项可以有影子拷贝。这样可以把一个作业项放在不同的位置。这些影子拷贝里的信息都是相同的,编辑一份拷贝,其他拷贝也会随之修改。在作业项之间可以传递一个结果对象(result object)。这个结果对象里包含了数据行,它们不是以流的方式来传递的。而是等一个作业项执行完了,再传递给下一个作业项。默认情况下,所有的作业项都是以串行方式执行的,只是在特殊情况下,以并行方式执行。
来自:https://www.xiaominfo.com/2019/08/08/kettle-2/
CREATE TABLE `163_comment` (
`user_id` bigint(30) NOT NULL,
`nickname` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`avatar_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`like_count` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
{
"status":"success",
"comments":[
{
"userId":417806867,
"nickname":"十豆彡睡醒了",
"avatarUrl":"http://p1.music.126.net/S4hK1tGib1ZZ_TeJlIKjnQ==/109951164247946247.jpg",
"content":"你们找到要一起跨年的人了吗?",
"likedCount":105909,
"time":"2019年12月26日 21:04:15"
},
{
"userId":334831709,
"nickname":"CAIIXNA4I",
"avatarUrl":"http://p1.music.126.net/CI39l70i2vsh0exdS0v5kQ==/109951164051989776.jpg",
"content":"玫瑰在离开小王子的时候说:我当然爱你 没有让你感受到 是我的不对",
"likedCount":105109,
"time":"2019年12月26日 20:32:39"
},
{
"userId":83085519,
"nickname":"Peanut-s1",
"avatarUrl":"http://p1.music.126.net/WNtp2GqdxF9xUQ5Wlqxhaw==/109951165418080735.jpg",
"content":"小王子还说:可是 我毕竟是太年轻了 不知道该如何爱她",
"likedCount":67906,
"time":"2019年12月27日 00:42:41"
},
{
"userId":1452517499,
"nickname":"彬的自然卷",
"avatarUrl":"http://p1.music.126.net/I6KIukGBIyjmGIXWrX9_pg==/109951163837907454.jpg",
"content":"温柔的人总是很自卑吧",
"likedCount":60441,
"time":"2019年12月28日 19:24:43"
},
{
"userId":579412866,
"nickname":"妈妈老催我起床",
"avatarUrl":"http://p1.music.126.net/zqo-DxAzMTORLKI8ODqalQ==/109951165226589250.jpg",
"content":"“后来这个笨手笨脚的小孩子还是选择了自己把剩下的路走完。”",
"likedCount":48880,
"time":"2019年12月28日 00:14:09"
},
{
"userId":347256737,
"nickname":"她的水彩笔",
"avatarUrl":"http://p1.music.126.net/XU6gBWHKvXYyZ56NzrNXQg==/109951164873146235.jpg",
"content":"“奔向你的时候 途经的一切事物都觉得很可爱”",
"likedCount":42532,
"time":"2019年12月26日 22:45:23"
},
{
"userId":288563327,
"nickname":"那你有没有想我喔",
"avatarUrl":"http://p1.music.126.net/cnmNuuM91Bb3OE_HF_77tg==/109951165410307038.jpg",
"content":"不是双向的奔赴毫无意义",
"likedCount":41305,
"time":"2019年12月28日 11:55:26"
},
{
"userId":1532641551,
"nickname":"喝热水吗你",
"avatarUrl":"http://p1.music.126.net/uHnuXkVL8IO3TIZFCZmqYw==/109951164860013328.jpg",
"content":"“我要把对你的喜欢放一放了,你先等等我,等我的成绩追上你,等一百六十八天后,我再告诉你我对你的这份挂念好不好”",
"likedCount":33784,
"time":"2019年12月28日 09:11:08"
},
{
"userId":251109628,
"nickname":"xD-7",
"avatarUrl":"http://p1.music.126.net/-1qU8ddf2eqTttkww6WM7g==/109951163905374898.jpg",
"content":"“要知道像2020这样ABAB的年份,每隔101年才会出现一次,比一个世纪还长。所以很开心能和你共同度过其中一个。 ” ",
"likedCount":24269,
"time":"2020年01月03日 21:08:51"
},
{
"userId":1328555812,
"nickname":"养一只月亮可不可以呀",
"avatarUrl":"http://p1.music.126.net/zyQ5g0dROnPBlaLUnGTEfA==/109951164002581783.jpg",
"content":"宇航员在浩瀚宇宙数星星 我透过窗子对月亮许愿今晚能够梦到你 ",
"likedCount":24173,
"time":"2019年12月26日 21:59:15"
},
{
"userId":546121400,
"nickname":"秋落170720",
"avatarUrl":"http://p1.music.126.net/B1R2FmesAuTE3hu4cI_aTg==/109951164581790668.jpg",
"content":"你确定这就是爱吗
真的爱我吗
手牵着手漫步斜阳
就当作浪漫
两个人眺望远方
以为爱的晴朗
当我回头望
却已泪湿了眼眶
当夕阳变成星光
当爱情换了方向
你一如过往对爱太紧张
但未来又会怎样
未知的明天总让我彷徨
谁给我力量
我不怕你爱不爱我
只害怕你以为爱我
抓紧我不算拥有
你总学不会放手
我不怕你",
"likedCount":21395,
"time":"2019年12月26日 21:50:05"
},
{
"userId":2005436838,
"nickname":"冰淇零1随缘",
"avatarUrl":"http://p1.music.126.net/1O_Vdf2uhQUUlTi9EWhuuA==/109951164542960008.jpg",
"content":"我本就不是一个主动的人 灵魂虽然有趣 可不爱表达 还死犟 也慢热 遇到懂我的人很幸运 遇不到也正常",
"likedCount":15024,
"time":"2019年12月28日 00:15:59"
},
{
"userId":478268688,
"nickname":"芒果藏起来",
"avatarUrl":"http://p1.music.126.net/XdRytMyZryMstUK5NmnVGA==/109951165423178491.jpg",
"content":"你口口声声说你爱我 很爱我 最爱的也是我 可是却一边做着伤害我的事情 让我痛不欲生 你确定这就是爱吗?真的爱我吗?",
"likedCount":14889,
"time":"2019年12月27日 00:56:04"
},
{
"userId":1916977223,
"nickname":"---小呂",
"avatarUrl":"http://p1.music.126.net/LGg0eH7lfoKZYT9sd-hc5w==/109951165384383034.jpg",
"content":"你确定这就是爱吗
真的爱我吗
手牵着手漫步斜阳就当作浪漫
两个人眺望远方
以为爱的晴朗
当我回头望 却已泪湿了眼眶
当夕阳变成星光
当爱情换了方向
你一如过往
对爱太紧张
但未来又会怎样
未知的明天总让我彷徨
谁给我力量
我不怕你爱不爱我
只害怕你以为爱我
抓紧我不算拥有
你总学不会放手",
"likedCount":4995,
"time":"2019年12月26日 21:49:09"
},
{
"userId":111821579,
"nickname":"你是我的温澜如风",
"avatarUrl":"http://p1.music.126.net/1tK09IO7vn5RCv1eO8zubw==/109951164450051475.jpg",
"content":"自卑的人为什么那么温柔,内向的人为什么那么安静。",
"likedCount":4692,
"time":"2019年12月28日 22:19:25"
}
]
}
最终结果图
定义变量
输入 -> 生成记录
配置REST Client组件
查询 -> REST client
定义JSON输入流
输入 -> JSON input
解析json串
如果是这种形式
[{
"a": "1"
}]
获取的时候 使用 $.[*].a
{
"a": "1"
}
获取的时候,使用 $.a
字段选择
转换 -> 字段选择
数据入库
输出 -> 插入/ 更新
最后直接执行