数据转换之数据清洗

2023-11-15

一、实现对文本文件personnel_data.txt中的数据进行数据粒度的转换,即将文本文件personnel_data.txt中字段为household_register的数据统一成省份(直辖市),并输出到文本文件personnel_data_new.txt中。
(1)打开Kettle工具,新建转换
使用Kettle工具,创建一个转换generalization,并添加文本文件输入控件、表输入控件、字段选择控件、排序记录控件、记录集连接控件、表输出控件以及Hop跳连接线。
在这里插入图片描述
(2)配置文本文件输入控件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(3)配置字段选择控件
双击图中的“字段选择”控件,进入“选择/改名值”界面,在“选择和修改”选项卡处添加字段名称。
在这里插入图片描述
(4)配置排序记录控件
双击“排序记录”控件,进入“排序记录”界面,并在“字段”框中添加字段household_register,对其进行排序。
在这里插入图片描述
(5)配置表输入控件
双击图中的“表输入”控件,进入“表输入”界面。单击【新建】按钮,配置数据库连接,配置完成后单击【确认】按钮。MySQL数据库连接的配置。
在这里插入图片描述
(6)配置排序记录2控件
双击图中的“排序记录 2”控件,进入“排序记录”界面,在“字段”框中添加字段city,并对其进行排序。
在这里插入图片描述
(7)配置记录集连接控件
在这里插入图片描述
(8)配置字段选择2控件
双击图中的“字段选择2”控件,进入“选择/改名值”界面,在“选择和修改”选项卡处添加字段名称,这里添加的是记录集连接流中的字段household_register和pid。
在这里插入图片描述
(9)配置排序记录3控件
双击图中的“排序记录 3”控件,进入“排序记录”界面,在“字段”框中添加字段pid,并对其进行排序。
在这里插入图片描述
(10)配置表输入2控件
双击图中的“表输入2”控件,进入“表输入2”界面。
在这里插入图片描述
(11)配置排序记录4控件
双击图中的“排序记录 4”控件,进入“排序记录”界面,在“字段”框中添加字段pid,并对其进行排序。
在这里插入图片描述
(12)配置记录集连接2控件
在这里插入图片描述
(13)配置字段选择3控件
双击图中的“字段选择3”控件,进入“选择/改名值”界面,在“选择和修改”选项卡处添加字段名称,这里添加的是记录集连接2流中的字段household_register和Provincial。
在这里插入图片描述
(14)配置表输出控件
双击图中的“表输出”控件,进入“表输出”配置界面。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20211022231120560.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzZGZnaGprbDA2MTA=,size_16,color_FFFFFF,t_70
(15)打开Kettle工具,新建转换
使用Kettle工具,创建一个转换generalization_merge,并添加表输入控件、字段选择控件、排序记录控件、记录集连接控件、文本文件输出控件以及Hop跳连接线。
在这里插入图片描述
(16)配置表输入控件
双击图中的“表输入”控件,进入“表输入”界面。
在这里插入图片描述
在这里插入图片描述
(17)配置字段选择控件
双击图中的“字段选择”控件,进入“选择/改名值”界面,在“选择和修改”选项卡处添加字段名称。
在这里插入图片描述
(18)配置排序记录控件
双击图中的“排序记录”控件,进入“排序记录”界面,并在“字段”框中添加字段id,对其进行排序。
在这里插入图片描述
(19)配置文本文件输入控件
双击图中的“文本文件输入”控件,进入“文本文件输入”界面,单击【浏览】按钮,选择要抽取personnel_data.txt文件;单击【增加】按钮,将要抽取的personnel_data.txt文件添加到generalization_merge转换中。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(20)配置字段选择2控件
双击图中的“字段选择2”控件,进入“选择/改名值”界面,在“选择和修改”选项卡处添加字段名称。
在这里插入图片描述
(21)配置排序记录2控件
双击图中的“排序记录”控件,进入“排序记录”界面,并在“字段”框中添加字段id,对其进行排序。
在这里插入图片描述
(22)配置记录集连接控件
在这里插入图片描述
(23)配置字段选择3控件
双击图中的“字段选择3”控件,进入“字段选择”界面,在“选择和修改”选项卡处添加字段名称,并将字段household_register_new改为household_register。
在这里插入图片描述
(24)配置文本文件输出控件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(25)打开Kettle工具,新建作业
使用Kettle工具,创建一个作业generalization,并添加Start控件、转换控件、成功控件以及Hop作业项连接线。
在这里插入图片描述
(26)配置转换控件
双击图中的“转换”控件,进入“转换”界面,单击“Transformations”处的【浏览】按钮,选择添加转换generalization。
在这里插入图片描述
(27)配置转换2控件
双击图中的“转换2”控件,进入“转换”界面,单击“Transformations”处的【浏览】按钮,选择添加转换generalization_merge。
在这里插入图片描述
(28)运行作业generalization
单击作业工作区顶部的运行按钮,运行作业generalization,实现将文本文件personnel_data.txt中字段为household_register的数据统一成省份(直辖市),并输出到文本文件personnel_data_new.txt中。
在这里插入图片描述
二、对文本文件personnel_data_new.txt中字段为salary的数据进行商务规则计算,即计算每个人的月薪(以22天工作日计算),最终输出到文本文件personnel_data_monthly_salary.txt中。
(1)打开Kettle工具,新建转换
使用Kettle工具,创建一个转换monthly_salary,并添加文本文件输入控件、增加常量控件、计算器控件、文本文件输出控件以及Hop跳连接线。
在这里插入图片描述
(2)配置文本文件输入控件
双击图中的“文本文件输入”控件,进入“文本文件输入”界面,单击【浏览】按钮,选择要抽取personnel_data_new.txt文件;单击【增加】按钮,将要抽取的personnel_data_new.txt文件添加到转换monthly_salary中。
在图中,单击“内容”选项卡,在分隔符处清除默认分隔符“;”,单击【Insert TAB】按钮,在分隔符处插入一个制表符。
在图中,单击“字段”选项卡,根据personnel_data_new.txt文件的内容添加对应的字段名称,并指定数据类型。
在这里插入图片描述
在这里插入图片描述
(3)配置增加常量控件
双击图中的“增加常量”控件,进入“增加常量”界面,在字段框中添加一个字段days,并给定一个值22。
在这里插入图片描述
(4)配置计算器控件
双击图中的“计算器”控件,进入“计算器”界面,在字段框中添加一个字段monthly_salary,用于存储月薪,该字段是由字段days和salary进行相乘所得。
在这里插入图片描述
(5)配置文本文件输出控件
双击图中的“文本文件输出”控件,进入“文本文件输出”界面,单击“文件名称”右侧的【浏览】按钮,选择输出文件,即文本文件personnel_data_monthly_salary;单击“内容”选项卡,进入“内容”界面,清除分隔符处的默认分隔符,单击【插入Tab】按钮,插入Tab分隔符,并在编码处的下拉框选择“UTF-8”编码;单击“字段”选项卡,进入“字段”界面,添加要输出的字段。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(6)运行转换monthly_salary
单击转换工作区顶部的运行按钮,运行转换monthly_salary,实现将文本文件personnel_data_new.txt中字段为salary的数据进行商务规则计算,即计算每个人的月薪(以22天工作日计算),最终输出到文本文件personnel_data_monthly_salary.txt中。从图中的执行结果来看,即每个控件的右上角均有“√”,则说明转换monthly_salary执行成功。在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据转换之数据清洗 的相关文章

  • 基于python 自写Tobii VI-T滤波器

    文章目录 官网参考文档 Gap fill in interpolation Eye selection Noise reduction Velocity calculator I VT classifier Merge adjacent f
  • react-router-dom V6

    目录 1 前言 2 变更概览 将 Switch 升级为 Routes 路由匹配组件参数 由 component 改为 element 相对路径识别 子路由不需要补全父路由的path react会自动补全 用 useNavigate 替代 u
  • web开发编码_编码和游戏开发

    web开发编码 As a game enthusiast and a beginner programmer I always wonder what it would be like to develop a game 作为游戏发烧友和初
  • 入门接口测试

    首先 什么是接口呢 接口一般来说有两种 一种是程序内部的接口 一种是系统对外的接口 系统对外的接口 比如你要从别的网站或服务器上获取资源或信息 别人肯定不会把数据库共享给你 他只能给你提供一个他们写好的方法来获取数据 你引用他提供的接口就能
  • gcc 若干安全相关选项

    1 FORTIFY SOURCE buffer over flow 防御 参考 http fedoraproject org wiki Security Features Compile Time Buffer Checks 28FORTI
  • Elasticsearch8.2扩容挪数据master出现异常

    背景 1 ES 8 2 版本集群 从10节点扩到20节点 变更 目标替换老的10个节点 先扩容新节点再下掉老节点 2 挪数据执行exclude API 排除老节点IP 设置迁移速率为800Mb s 默认40Mb s 异常 1 迁移过程中突然

随机推荐

  • python笔记第四章---选择结构

    一 程序的组织结构 fact 任何简单或复杂的算法都可以由顺序结构 选择结构和循环结构这三种基本结构组合而成 顺序结构 计算机的流程控制 选择结构 if语句 循环结构 while语句 for in语句 1 顺序结构 程序从上到下顺序的执行代
  • Linux文件权限的设置

    本文章主要介绍了对Linux文件的权限以及如何设置权限 一 查看文件的权限与属性 ls l 或者 ll查看文件属性 二 可以列出如下图所示的一些信息 rw r r 第一位代表文件类型 d 表示目录 l 表示链接文件 表示普通文件 b 表示快
  • Postman测试webService接口

    1 打开Postman界面如下 设置Content Type text xml 2 设置body 3 请求结果如下 4 至此通过Postman进行webService接口测试测试完毕
  • 使用过滤器和request装饰增强来彻底解决乱码问题

    在客户端以get或者post方式提交数据时 可能会出现客户端与服务端编码集不匹配而发生乱码的现象 在对post方式产生的乱码我们可以用 request setCharacterEncoding utf 8 语句来解决 在对get方式产生的乱
  • maven&​ Plugin ‘org.apache.tomcat.maven:tomcat7-maven-plugin:2.2’ not found​报错解决【问题及解决过程记录】

    目录 什么是 Maven 安装 解压后需要配置环境变量 在path新增路径 验证maven安装成功 Win R打开cmd 输入mvn v 在配置文件中设置本地仓库路径 maven仓库的种类和关系 编辑 maven目录结构 编辑 maven的
  • oracal从入门到精通(一)

    1 1了解最新版本Oracle 11g 可以在Oracle的官方网站www oracle com获取Oracle的版本信息 本书中要讲解的是Oracle 11g的第1版 所以在这里只对Oracle 11g的各版本做以说明 Oracle 11
  • 关于Vue.js组件巨详细的一篇文章

    文章目录 Vue js 组件 全局注册 组件基础 组件命名规则 template 选项 data 选项 局部注册 组件通信 父组件向子组件传值 props 命名规则 单项数据流 props 类型 props 验证 非 props 属性 子组
  • Iterative Shrinkage Thresholding Algorithm

    Iterative Shrinkage Thresholding Algorithm ISTA ISTA 对于一个基本的线性逆问题 y A x
  • 【Webpack5】从零开始学习基础配置

    基本使用 Webpack 是一个静态资源打包工具 它会以一个或多个文件作为打包的入口 将我们整个项目所有文件编译组合成一个或多个文件输出出去 输出的文件就是编译好的文件 就可以在浏览器段运行了 我们将 Webpack 输出的文件叫做 bun
  • [转帖]国产操作系统概念及历史,目前国产操作系统有哪些?

    国产操作系统概念及历史 目前国产操作系统有哪些 2018 05 19 21 20 18 作者 ywnz 稿源 云网牛站整理 https ywnz com linuxgcxt 1786 html 以下为你讲解国产操作系统概念 国产操作系统历史
  • 【链块观点01期】当区块链的风刮到教育行业,哪些变革是注定要发生的?

    原文链接 区块链应用案例 当区块链的风刮到教育行业 哪些变革是注定要发生的 一 教育是国之大计 古往今来 教育都在人类生活中占有着极其重要的位置 教育与社会的进步 文明的发展程度紧密相关 中国正在努力建设和谐社会 而如何达成社会主义和谐社会
  • Android Studio运行时自带签名配置过程详解

    文章转载自 http teachcourse cn 2053 html 摘要 Android Studio比Eclipse在配置Project签名文件时方便很多 可以同时指定debug和release两种模式下的签名文件 debug模式即A
  • SpringBoot的自动装配

    一 什么是SpringBoot自动装配 SpringBoot 定义了一套接口规范 这套规范规定 SpringBoot 在启动时会扫描外部引用 jar 包中的META INF spring factories文件 将文件中配置的类型信息加载到
  • Qt 交叉编译

    背景 本来Qt源码是可以直接使用交叉编译器编译通过 也可以使用编译通过的qmake生成可执行程序 但是可执行程序在没有Qt的环境下无法正常运行 因此我们不只是仅需要编译源码 还需要将依赖的环境编译出来 这样打包可执行程序的同时将相应的依赖拷
  • 爬虫项目二十一:需要简历吗?用Python轻松爬下上千份简历模板

    文章目录 前言 一 获取详情页url 二 获取下载链接 三 保存模板 前言 用Python对站长之家的上千个简历模板批量爬取保存 提示 以下是本篇文章正文内容 下面案例可供参考 一 获取详情页url 我们进入站长之家的免费模板网站 http
  • linux修改rc.local权限,CentOS7中rc.local中的指令不能生效问题。

    问题 在系统中 etc rc local设置自启动命令的时候 重启计算机 文件中的指令无法生效 我这里编译安装了一个mongodb数据库的服务 然后修改了环境变量 写入到了 bash profile 文件中 在shell中可以直接执行命令
  • idea创建python项目

    windows安装pyhon Window 安装 Python 哭哭啼的博客 CSDN博客下载官网地址 https www python org downloads windows 此处下载最新版本 64位 安装找到下载的文件解压文件即可配
  • 动态链接库和静态链接库的原理及区别

    静态连接库就是把 lib 文件中用到的函数代码直接链接进目标程序 程序运行的时候不再需要其它的库文件 动态链接就是把调用的函数所在文件模块 DLL 和调用函数在文件中的位置等信息链接进目标程序 程序运行的时候再从DLL中寻找相应函数代码 因
  • Ubuntu 下同局域网主机访问Tomcat 服务器

    转自 https blog csdn net zm yang article details 70483439 搭建Tomcat环境 自己写些小应用 需要用到服务器 便在Ubuntu环境下搭建了个Tomcat服务器 搭建方法很简单 去官网下
  • 数据转换之数据清洗

    一 实现对文本文件personnel data txt中的数据进行数据粒度的转换 即将文本文件personnel data txt中字段为household register的数据统一成省份 直辖市 并输出到文本文件personnel da