数据清洗基础—Kettle 数据转换与清洗、数据抽取操作

2023-11-16

实验一:数据清洗基础—Kettle 数据转换与清洗、数据抽取操作

1 实验题目:Kettle 数据转换与清洗、数据抽取操作

2实验目和要求

2.1熟悉 Kettle 的开发环境,并掌握 Kettle 环境的配置与安装;

2.2能使用 Kettle 工具进行简单的数据转换与清洗操作

2.3能进行简单的与Web 抽取有关的操作

3实验步骤

1)安装 Kettle 开发工具

2)Kettle 数据转换与清洗

3)Web 数据抽取

4)撰写实验报告

  1. 实验内容

一、Kettle 开发环境及安装

1、电脑配及系统要置求

配置:内存4G或者以上

系统:64 位,win7 或以上(Linux/mac OS 亦可)

2、Ketlle介绍

Kettle 最早是一个开源的 ETL 工具, 全称为 KDE Extraction, Transportation, Transformation and Loading Environment。在 2006 年,Pentaho 公司收购了 Kettle 项目,从此, Kettle 成为企业级数据集成商业智能套件 Pentaho 的主要组成部分。

Pentaho Data Integration 以Java 开发,支持跨平台运行,其特性包括:支持 100%无编码、拖拽方式开发 ETL 数据管道;可对接包括传统数据库、文件、大数据平台、接口、数据等数据源;支持ETL 数据管道加入机器学习算法。

Pentaho Data Integration 作为一个端对端的数据集成平台,可以对多种数据源进行抽取(Extraction)、加载(Loading)、数据落湖(Data  Lake  Injection)、对数据进行各种清洗、转换、混合,并支持多维联机分析处理OLAP)和数据挖掘

二、数据转换与清洗

1、使用Kettle读取XML文档

  1. 准备XML文档
  1. 启动Kettle,新建“转换”,在“输入”列表中选择Get data from XML
  2. 将XML文档添加至Get data from XML对象中,并设置“内容”、“字段”等选项卡

这是XML文件的内容:

 文件的读取:

内容设置:

 

 字段设置:

  1. 单击“预览”,查看结果。

2、将XML文档转换为JSON文档

1)新建“转换”,在“输入”列表中选择Get data from XML,在“输出”列表中选择JSON output,并建立连接

2)将XML文档添加至Get data from XML对象中,并设置“内容”、“字段”等选项卡

3)双击JSON output,设置“一般”、“字段”选项卡

4)在生成的JSON文件中查看结果

3、将EXCEL文档转换为XML文档

1)准备Excel文档

2)新建“转换”,在“输入”列表中选择Excel输入,在“输出”列表中选择XML output,并建立连接

3)双击“Excel输入”添加文件,并设置“工作表”、“字段”等选项卡

4)双击XMLoutput,设置文件的名称和路径、“字段”选项卡

文件获取:

内容设置:

字段设置:

 5)保存文件并运行

运行结果:

生成的文件:

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

数据清洗基础—Kettle 数据转换与清洗、数据抽取操作 的相关文章

  • Azure数据工厂:处理until/for活动中的内部故障

    我有一个包含 Until 活动的 Azure 数据工厂 v2 管道 在 的里面until是一个复制活动 如果失败 则会记录错误 与本文中完全相同 并且我希望循环继续 Azure 数据工厂管道 发生故障 虽然内部复制活动的错误已得到处理 但u
  • 导入/导出 DataFusion 管道

    有谁知道是否可以以编程方式导入 导出 DataFlow 管道 已部署或处于草稿状态 我们的想法是编写一个脚本来删除并创建一个 DataFusion 实例 以避免在不使用时计费 通过 gloud 命令行 可以配置 DataFusion 集群并
  • 从 SSIS 脚本任务创建对自定义程序集的引用 - vb

    我正在寻找一种在 SSIS 脚本任务中创建 导入 Newtonsoft Json Linq 的方法 但这显然不像 SSIS 中的 管理 NuGet 包 那么简单 那么还有另一种方法可以解决这个问题吗 我找到了一个link在我看来这是一个可能
  • SQL Server 2008:禁用某一特定表分区上的索引

    我正在 SQL Server 2008 中使用一个大表 约 100 000 000 行 我经常需要在该表中批量添加和删除约 30 000 000 行 目前 在将大批量加载到表中之前 我会禁用索引 插入数据 然后重建索引 我测量这是最快的方法
  • 如何防止 SSIS 上的 CAST 错误?

    问题 是否可以要求SSIS投射一个值 and 返回空值如果不允许演员阵容而不是抛出错误 我的环境 我在 Windows Server 2003 上使用 Visual Studio 2005 和 Sql Server 2005 一般背景 以防
  • 输出具有多个工作表的单个 Excel 文件

    Talend Open Studio for Data Integration 中是否有一个组件能够输出单个 Excel 文件 但其中包含 2 个单独的工作表 我想将原始文件中的一些列分隔到另一个工作表中 并将另一组列分隔到第二个工作表中
  • 集成服务目录文件夹权限已更改

    问 SSISDB 或 MSDB 中的任何 SQL Server 系统表是否包含可让我发现哪些用户正在对 Integration Services 目录中的文件夹权限进行更改的信息 背景 我发现 SQL 代理作业失败 错误描述如下 无法访问该
  • SSIS 中的 OData 源组件未连接

    这是上一个问题的后续问题 SSIS 中的 OData 源组件挂起 https stackoverflow com questions 48026984 odata source component in ssis hanging Setup
  • 在 SSIS 中使用正确的函数拆分列中的值

    我需要你们的紧急帮助 我有一列代表用户的全名 现在我想将其分为名字和姓氏 全名的格式为 World hello 现在这里的名字是 hello 姓氏是 world 我正在使用派生列 SSIS 并对名字使用右函数 对姓氏使用子字符串函数 但这些
  • 从高级编辑器更改数据类型与数据转换

    我正在使用 SSIS 创建一些包 我对周围感到困惑数据转换变换组件并从高级编辑器更改列数据类型 如果我可以进入高级编辑器并更改输出的数据类型 为什么我需要输入数据转换 这只是取决于偏好还是使用两种方法之间有区别吗 在展示两种方法之间的差异之
  • SSIS - 动态地将文件移动到具有匹配子字符串名称的文件夹

    我正在使用 foreach 循环和文件系统任务将文件移动到特定文件夹中 或至少尝试这样做 i e 文件名可以是100000 需要到文件夹1000 文件102000需要转到文件夹1020 文件103000需要转到文件夹1030 ETC ETC
  • 当设置为 CRLF 时,SSIS 将 LF 读取为终止符

    使用 SSIS 2012 我的平面文件连接管理器我有一个分隔文件 其中行分隔符设置为CRLF 但是当它处理文件时 我有一个文本列 其中有一个LF在里面 这导致它将其读取为行终止符 从而导致失败 有任何想法吗 我没有 SSIS 经验 但作为一
  • SSIS 顺序处理

    我在同一数据流任务中有 5 个独立的数据流 每个数据流都有源和目的地 我怎样才能让它们按顺序运行 它们似乎并行运行 我可能会在不同的数据流任务中执行此操作 但我怎样才能在单个数据流任务中做到这一点 同一任务中不要有独立的数据流 我知道导入
  • 重命名文件源

    我一直在从平面文件源开发 SSIS 包 该文件每天都会出现 文件名具有日期时间指示 如下所示 文件名 20190509042908 txt 我想知道如何才能度过约会部分 我希望包动态读取文件 但它应该在没有最后 6 位数字的情况下通过 我只
  • 将 XML 数据保存到 SQL Server 的最佳方法是什么?

    有没有一条非常直接的直接路线 即SQL Server可以读取XML 或者 最好解析 XML 并通过 ADO Net 以通常的方式将其作为单独的行或批量更新进行传输 我意识到可能有一些解决方案涉及大型复杂的存储过程 虽然我并不完全反对这一点
  • 使用执行 SQL 任务的参数映射

    我正在尝试创建一个临时表并将数据插入到 foreach 循环容器内的执行 SQL 任务内的临时表中 这是sql任务 IF OBJECT ID TEMPDB DBO TEMP IS NOT NULL DROP TABLE TEMP GO CR
  • Pentaho Spoon 工具转换顺序

    我正在尝试设计一个 ETL 结构 但我陷入了以下步骤 正如你所看到的 我有 3 个步骤 每个步骤都有一个FK上一步的值 例如TABLE3有一个列外键约束这表明PK值在TABLE2 and TABLE2与 具有相同的关系TABLE1 问题是
  • 从事务性平面数据库填充事实表和维度表的最佳实践

    我想在 SSIS SSAS 中填充星型模式 多维数据集 我准备了所有维度表和事实表 主键等 源是一个 平面 项目级别 表 我现在的问题是如何拆分它 并将其从一个放入相应的表中 我做了一些谷歌搜索 但找不到令人满意的解决方案 人们会认为这是
  • 释放对执行进程任务中使用的变量的锁定SSIS

    我有一个包裹Foreach容器 and 执行流程任务 inside 对于每个容器 在执行流程任务中出现一些错误时 它会重定向到OnError事件处理程序对于每个容器 我正在使用 exe 捕获错误标准误差变量任务的属性并在脚本任务中使用它On
  • 在SSIS中导入已合并单元格的Excel

    我的问题是在读取合并 组合列单元格的 Excel 文件时 例如 将下面的excel数据读取到数据库中 Excel 输入 ID NAME DEPT FNAME LNAME 1 Akil Tiwari IT 2 Vinod Rathore IT

随机推荐

  • git 删除右键菜单

    首先 我表示git默认的右键菜单很烦 太多项了 而我们平时用的最多的无非是一个Git Bash 删除msGit右键菜单 如果是windows 64位系统 cmd进入 C Program Files x86 Git git cheetah 目
  • 恢复U盘分区:windows自带工具diskpart

    步骤 如下图 cmd命令行处执行diskpart命令 运行该工具 然后list disk 列出所有磁盘 然后select disk xxx 选中自己的磁盘 比如下图的是磁盘2 然后clean 清空分区 然后creat partition p
  • 我们这个年龄应该要做的事

    大家好 我是一名入门的菜鸟 如果你不经意间翻开了我的文章 谢谢您 您的支持是我前进的动力 让我们一起加油 由于不是名牌大学 只是一个普普通通的专科生 所以 我想通过自己的努力来获得我想要的 我不会放弃我的梦想 我也曾幻想着我成功的时候在朋友
  • MQ如何保证消息不丢失

    如何保证消息不丢失 哪些环节会造成消息丢失 其实主要就是跨网络的环境中需要考虑消息的丢失 主要是有以下几个方面 生产者往MQ发送消息 MQ的Broker是集群有主从的 主节点把消息同步到从节点时也需要考虑消息丢失问题 消息从内存持久化到硬盘
  • Java 3D 开发

    OPENGL VRML DIRECT3D JAVA3D的比较 Java3D建立在JAVA基础之上 JAVA语言的简单性使JAVA3D的推广有了可能 它实现了以下三维显示能够用到的功能 生成简单或复杂的形体 也可以调用现有的三维形体 使形体具
  • 错误AttributeError: module ‘onnx‘ has no attribute ‘load‘的解决方式

    错误出现 在使用torch导出onnx后 使用 onnx load xxx onnx 出现 AttributeError module onnx has no attribute load 错误原因 详见https github com p
  • 隐马尔可夫模型介绍

    http blog csdn net gumpeng article details 51648259 关于隐马尔可夫的理论介绍 请参见李航博士的 统计学习方法 介绍的很详尽 下面主要通过网上查到的例子来把隐马的相关问题说清楚 以下内容都非
  • 【C语言进阶】自定义类型详解(结构体、枚举、联合)

    博客主页 小王又困了 系列专栏 C语言 人之为学 不日近则日退 感谢大家点赞 收藏 评论 目录 一 结构体 1 1结构体的认识 1 2结构体的声明 1 先声明结构体类型 再定义该类型的变量 2 在声明类型的同时定义 1 3结构体的特殊声明
  • Leetcode 5544: 执行操作后字典序最笑的字符串

    题目描述 给你一个字符串 s 以及两个整数 a 和 b 其中 字符串 s 的长度为偶数 且仅由数字 0 到 9 组成 你可以在 s 上按任意顺序多次执行下面两个操作之一 累加 将 a 加到 s 中所有下标为奇数的元素上 下标从 0 开始 数
  • win10修改默认安装路径

    win10修改默认安装路径 win10修改默认安装路径 1 以Win10系统为例 首先我们鼠标右键点击 开始 菜单 弹出菜单之后 点击 运行 如下图所示 2 在运行的输入框输入 regedit 并点击确定进入注册表编辑器 如下图所示 3 在
  • layui时间选择器---去除秒列

    layui时间选择器 去除秒列 前言 layui开发文档中介绍的时间选择器包含了时 分 秒的选择 在实际开发过程中 我们选择时间可能不需要精确到秒 原始结构 1 HTML页面引入layui js文件 2 HTML文件中添加如下代码 3 在j
  • 大数据分析 开源数据集_什么是大数据分析? 来自各种数据集的快速答案

    大数据分析 开源数据集 有数据 然后有大数据 那么 有什么区别呢 大数据定义 一个清晰的大数据定义可能很难确定 因为大数据可以涵盖许多用例 但是总的来说 该术语指的是数据量如此之大 如此复杂以至于传统的数据处理软件产品无法在合理的时间内捕获
  • 只需一个提示词解除GPT-4的字符限制!

    ChatGPT的内存有限 GPT 3 5 turbo的限制为4897个令牌 而GPT 4的最大限制为8192 如果您在使用GPT 4进行聊天时超过8192个令牌 约6827个单词 它就会开始遗忘 我想出了一种新的技巧 可以轻松将对话扩展10
  • Linux项目实战C++轻量级Web服务器源码分析TinyWebServer

    目录 文章简介 一 先跑起来项目 二 再看项目结构 三 逐个击破 立下flag 文章简介 TinyWebServer是Linux下C 轻量级Web服务器 助力初学者快速实践网络编程 搭建属于自己的服务器 作为新手拿它练手入门再好不过的不二之
  • 蓝桥杯 试题 算法训练 拿金币

    问题描述 有一个N x N的方格 每一个格子都有一些金币 只要站在格子里就能拿到里面的金币 你站在最左上角的格子里 每次可以从一个格子走到它右边或下边的格子里 请问如何走才能拿到最多的金币 输入格式 第一行输入一个正整数n 以下n行描述该方
  • TQ2440移植u-boot2016.11全过程记录-【7】NAND FLASH方式启动U-BOOT

    TQ2440移植u boot2016 11 NAND FLASH方式启动U BOOT S3C2440 U BOOT启动方式说明 NOR FLASH启动 S3C2440会直接在NOR上运行程序 在NOR上中的代码需要初始化芯片时钟 初始化SD
  • 关于疫情超走心的文案

    1 盼小城无恙 等烟火寻常 2 以后不在嫌弃人山人海 因为那样才是国泰民安 3 没有一个冬天不会过去 没有一个春天不会到来 4 疫情终时 这人间仍是星河滚烫 水木清华 江山如故 5 待我跨过这病与疾 春和希望都扑面而来 6 疫情结束 是今年
  • h2 mysql 对比_轻量级数据库比较:SQLite、H2和MySQLEmbedded

    对 PHP程序员来说 SQLite可以快速的搭建数据库开发环境 提供轻松 自容器 无配置 无独立服务的数据库环境 所有数据保存在一 对 PHP程序员来说 SQLite可以快速的搭建数据库开发环境 提供轻松 自容器 无配置 无独立服务的数据库
  • 在ubuntu中添加新硬盘

    前言 安装新硬盘这种事情并不会经常 发生同样它也并不复杂 本文将向你说明如何在现有的Ubuntu系统下安装一个新硬盘 并为它设置好分区然后使用它 在动手之前 你需要先考虑下面三个关于新硬盘使用方面的问题 该硬盘是否只会在Ubuntu下使用
  • 数据清洗基础—Kettle 数据转换与清洗、数据抽取操作

    实验一 数据清洗基础 Kettle 数据转换与清洗 数据抽取操作 1 实验题目 Kettle 数据转换与清洗 数据抽取操作 2实验目和要求 2 1熟悉 Kettle 的开发环境 并掌握 Kettle 环境的配置与安装 2 2能使用 Kett