第六章操作题

1.实现对文本文件personnel_data.txt中的数据进行数据粒度的转换,即将文本文件personnel_data.txt中字段为household_register的数据统一成省份(直辖市),并输出到文本文件personnel_data_new.txt中。
1)打开Kettle工具,新建转换
使用Kettle工具,创建一个转换,并添加文本文件输入控件、表输入控件、字段选择控件、排序记录控件、记录集连接控件、表输出控件以及Hop跳连接线
在这里插入图片描述
2)配置文本文件输入控件
双击“文本文件输入”控件,进入“文本文件输入”界面,单击【浏览】按钮,选择要抽取personnel_data.txt文件;单击【增加】按钮,将要抽取的personnel_data.txt文件添加到转换中。
在这里插入图片描述
单击“内容”选项卡,在分隔符处清除默认分隔符“;”,单击【Insert TAB】按钮,在分隔符处插入一个制表符;取消勾选“头部”复选框。
在这里插入图片描述
在这里插入图片描述
3)配置字段选择控件
双击“字段选择”控件,进入“选择/改名值”界面,在“选择和修改”选项卡处添加字段名称在这里插入图片描述
4)配置排序记录控件
双击“排序记录”控件,进入“排序记录”界面,并在“字段”框中添加字段household_register,对其进行排序
在这里插入图片描述
5)配置表输入控件
双击“表输入”控件,进入“表输入”界面
在这里插入图片描述
在SQL框中编写SQL语句,用于查询city数据表中字段city和pid的数据,用于与personnel_data.txt文件中household_register字段进行合并连接

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是第十版Java教材第九章复习的答案: 1. 什么是接口?如何声明一个接口? 接口是一种抽象数据类型,它定义了一组方法,但没有提供方法的实现。它只是指定了方法名、参数列表和返回类型。可以通过实现接口来提供方法的具体实现。 接口声明使用interface关键字,如下所示: ``` public interface MyInterface { public void method1(); public int method2(String str); } ``` 2. 什么是抽象类?如何声明一个抽象类? 抽象类是一个不能被实例化的类,它只能被继承。抽象类可以包含抽象方法和非抽象方法。抽象方法没有具体的实现,而是由子类提供实现。 抽象类声明使用abstract关键字,如下所示: ``` public abstract class MyAbstractClass { public abstract void method1(); public void method2() { // implementation } } ``` 3. 接口和抽象类有什么区别? 接口只能包含抽象方法和常量,而抽象类可以包含非抽象方法和属性。另外,类只能继承一个类,但可以实现多个接口。 4. 什么是函数式接口?如何声明一个函数式接口? 函数式接口是只包含一个抽象方法的接口。它们通常用于Lambda表达式和方法引用。 函数式接口声明使用@FunctionalInterface注解,如下所示: ``` @FunctionalInterface public interface MyFunctionalInterface { public void method(); } ``` 5. Lambda表达式是什么?如何使用Lambda表达式? Lambda表达式是一种匿名函数,它可以作为参数传递给方法或赋值给变量。它的语法如下: ``` (parameter1, parameter2, ...) -> expression ``` 例如: ``` Arrays.sort(names, (String s1, String s2) -> s1.compareTo(s2)); ``` 这个Lambda表达式定义了一个比较字符串的方法,并传递给Arrays.sort方法。 6. 方法引用是什么?如何使用方法引用? 方法引用是一种简化Lambda表达式的方式,它允许你引用已经存在的方法并将其作为Lambda表达式传递给方法或赋值给变量。它的语法如下: ``` ClassName::methodName ``` 例如: ``` Arrays.sort(names, String::compareTo); ``` 这个方法引用引用了String类的compareTo方法,并传递给Arrays.sort方法。 7. Stream是什么?如何使用Stream? Stream是一种在集合上进行复杂操作的方式。它提供了过滤、映射、排序等操作。Stream的操作可以是中间操作或终端操作。中间操作返回一个Stream对象,终端操作返回一个非Stream对象(如List、Map等)。 例如: ``` List<String> names = Arrays.asList("Alice", "Bob", "Charlie"); List<String> filteredNames = names.stream() .filter(name -> name.startsWith("A")) .collect(Collectors.toList()); ``` 这个代码使用Stream过滤以"A"开头的字符串,并将结果存储在List中。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值