ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

kettle练习题

2020-05-05 14:01:18  阅读:893  来源: 互联网

标签:练习题 true.0 name sal kettle 行号 日志 data


练习题

解题过程上传百度云:
链接: https://pan.baidu.com/s/1JgOiKtpJGlU5Z9-ia5sE3A 提取码: ujtj

1.将station.csv转化成excel
在这里插入图片描述
2.将student.json转化为excel
在这里插入图片描述3.将student.json转化为文本
在这里插入图片描述
4.将student.json插入到mysql的student表中
在这里插入图片描述

5.把student1的数据按id同步到student2,student2有相同id则更新数据
创建表
create database kettle;
use kettle;
create table student1(id int,name varchar(20),age int);
create table student2(id int,name varchar(20));
往两张表中插入一些数据
insert into stu1 values(101,‘zhangsan’,20),(102,‘lisi’,18), (103,‘wangwu’,19);
insert into stu2 values(101,‘zhaoliu’);
在这里插入图片描述

6.多行转一行
自定义常量数据Integer 类型的id ,String类型的name
id name
1 a
1 b
1 c
2 d
2 e
2 f
最后输出到日志
在这里插入图片描述
以下是输出结果:

写日志.0 - ------------> 行号 1------------------------------
写日志.0 - id = 1
写日志.0 - name = a, b, c
写日志.0 -
写日志.0 - ====================
分组.0 - 完成处理 (I=0, O=0, R=6, W=2, U=0, E=0)
写日志.0 -
写日志.0 - ------------> 行号 2------------------------------
写日志.0 - id = 2
写日志.0 - name = t, y, o
写日志.0 -
写日志.0 - ====================
写日志.0 - 完成处理 (I=0, O=0, R=2, W=2, U=0, E=0)
Spoon - 转换完成!!

7.一列转多行
自定义常量数据Integer 类型的id ,String类型的name
id name
1 a,b,c
2 e,g
最后输出到日志
在这里插入图片描述
以下是输出结果:

写日志.0 - ------------> 行号 1------------------------------
写日志.0 - id = 1
写日志.0 - new_name = a
写日志.0 -
写日志.0 - ====================
写日志.0 -
写日志.0 - ------------> 行号 2------------------------------
写日志.0 - id = 1
写日志.0 - new_name = b
写日志.0 -
写日志.0 - ====================
列拆分为多行.0 - 完成处理 (I=0, O=0, R=2, W=5, U=0, E=0)
写日志.0 -
写日志.0 - ------------> 行号 3------------------------------
写日志.0 - id = 1
写日志.0 - new_name = c
写日志.0 -
写日志.0 - ====================
写日志.0 -
写日志.0 - ------------> 行号 4------------------------------
写日志.0 - id = 2
写日志.0 - new_name = e
写日志.0 -
写日志.0 - ====================
写日志.0 -
写日志.0 - ------------> 行号 5------------------------------
写日志.0 - id = 2
写日志.0 - new_name = g
写日志.0 -
写日志.0 - ====================
写日志.0 - 完成处理 (I=0, O=0, R=5, W=5, U=0, E=0)
Spoon - 转换完成!!

8.将hive表的数据输出到hdfs
在hive中创建两张表dept和emp

CREATE TABLE dept(deptno int, dname string,loc string)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ‘\t’;
CREATE TABLE emp(
empno int,
ename string,
job string,
mgr int,
hiredate string,
sal double,
comm int,
deptno int)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ‘\t’;
插入数据
insert into dept values(10,‘accounting’,‘NEW YORK’),(20,‘RESEARCH’,‘DALLAS’),(30,‘SALES’,‘CHICAGO’),(40,‘OPERATIONS’,‘BOSTON’);
insert into emp values
(7369,‘SMITH’,‘CLERK’,7902,‘1980-12-17’,800,NULL,20),
(7499,‘ALLEN’,‘SALESMAN’,7698,‘1980-12-17’,1600,300,30),
(7521,‘WARD’,‘SALESMAN’,7698,‘1980-12-17’,1250,500,30),
(7566,‘JONES’,‘MANAGER’,7839,‘1980-12-17’,2975,NULL,20);
在这里插入图片描述

9.自定义常量数据
在这里插入图片描述
整体流程为
在这里插入图片描述
输出结果如下:

写日志.0 - ------------> 行号 1------------------------------
写日志.0 - deptno = d1
写日志.0 - ename = e2
写日志.0 - sal = 3456
写日志.0 - rn = 1
写日志.0 -
写日志.0 - ====================
写日志.0 -
写日志.0 - ------------> 行号 2------------------------------
写日志.0 - deptno = d1
写日志.0 - ename = e4
写日志.0 - sal = 889
写日志.0 - rn = 2
写日志.0 -
写日志.0 - ====================
分组.0 - 完成处理 (I=0, O=0, R=7, W=7, U=0, E=0)
写日志.0 -
写日志.0 - ------------> 行号 3------------------------------
写日志.0 - deptno = d1
写日志.0 - ename = e1
写日志.0 - sal = 234
写日志.0 - rn = 3
写日志.0 -
写日志.0 - ====================
写日志.0 -
写日志.0 - ------------> 行号 4------------------------------
写日志.0 - deptno = d1
写日志.0 - ename = e3
写日志.0 - sal = 234
写日志.0 - rn = 4
写日志.0 -
写日志.0 - ====================
写日志.0 -
写日志.0 - ------------> 行号 5------------------------------
写日志.0 - deptno = d2
写日志.0 - ename = e5
写日志.0 - sal = 1112
写日志.0 - rn = 1
写日志.0 -
写日志.0 - ====================
写日志.0 -
写日志.0 - ------------> 行号 6------------------------------
写日志.0 - deptno = d2
写日志.0 - ename = e7
写日志.0 - sal = 868
写日志.0 - rn = 2
写日志.0 -
写日志.0 - ====================
写日志.0 -
写日志.0 - ------------> 行号 7------------------------------
写日志.0 - deptno = d2
写日志.0 - ename = e6
写日志.0 - sal = 13
写日志.0 - rn = 3
写日志.0 -
写日志.0 - ====================
写日志.0 - 完成处理 (I=0, O=0, R=7, W=7, U=0, E=0)
Spoon - 转换完成!!

10.自定义常量数据
String 类型的name ,Integer类型的sal
name sal
a 12
b 32
b 43
c 19
d 678
过滤条件为当sal大于30时输出为正确的日志,错误是也是
输出为日志
在这里插入图片描述

以下是运行结果

data_false.0 - ------------> 行号 1------------------------------
data_false.0 - name = a
data_false.0 - sal = 12
data_false.0 -
data_false.0 - ====================
data_true.0 -
data_true.0 - ------------> 行号 1------------------------------
data_true.0 - name = b
data_true.0 - sal = 32
data_true.0 -
data_true.0 - ====================
data_false.0 -
data_false.0 - ------------> 行号 2------------------------------
data_false.0 - name = c
data_false.0 - sal = 19
data_false.0 -
data_false.0 - ====================
data_true.0 -
data_true.0 - ------------> 行号 2------------------------------
data_true.0 - name = b
data_true.0 - sal = 43
data_true.0 -
data_true.0 - ====================
data_true.0 -
data_true.0 - ------------> 行号 3------------------------------
data_true.0 - name = d
data_true.0 - sal = 678
data_true.0 -
data_true.0 - ====================
过滤记录.0 - 完成处理 (I=0, O=0, R=5, W=5, U=0, E=0)
data_false.0 - 完成处理 (I=0, O=0, R=2, W=2, U=0, E=0)
data_true.0 - 完成处理 (I=0, O=0, R=3, W=3, U=0, E=0)
Spoon - 转换完成!!

11.最后一行
在这里插入图片描述
按照sal进行排序
识别最后一行
最终输出到日志中
整个流程
在这里插入图片描述
最后结果
在这里插入图片描述
12.字段处理和字段选择
在这里插入图片描述
整体流程:
在这里插入图片描述
在这里插入图片描述
13.数据流优先级排序,按照source_1,source_2,source_3前后依次输出
整体流程
在这里插入图片描述
在这里插入图片描述
14.流查询
整体流程:
在这里插入图片描述
在这里插入图片描述
流查询的条件:
在这里插入图片描述
最后的结果:
在这里插入图片描述
15.分流switch
整体流程:
在这里插入图片描述
自定义数据:
在这里插入图片描述
Switch/Case中的选项为:
在这里插入图片描述

标签:练习题,true.0,name,sal,kettle,行号,日志,data
来源: https://blog.csdn.net/qq_45765882/article/details/105904188

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有