版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据抽取主讲:XXX目录Content文本文件的数据抽取1Web文件的数据抽取2关系数据库数据抽取3增量数据的抽取4文本文件的数据抽取文本文件抽取的基本方式是通过文本结构分析器或者人工分析,找出文本文件中所用到的分隔符,把分隔符左右两边的内容作为两个字段值进行抽取。文本文件抽取实例如下:需要被抽取的文本文件TxtExtract_test.txt,文件内容如图所示。图
待抽取的文本文件文本文件的数据抽取步骤打开Kettle,在左侧导航栏中,从主对象树中选择转换,右键选择“新建”,创建一个新的转换trans_txtExtract_test,双击DB连接,创建新的数据连接,本例创建一个MySQL的数据连接。12人工分析文本文件中的分隔符,TxtExtract_test.txt文件的分隔符为“|”;文本文件的数据抽取步骤2.1步骤2,MySQL的数据连接,入图所示
创建MySQL数据连接实现连接成功的前提条件还需要在本机的MySQL数据库服务器上创建test数据库,否则点击“测试”,会提示“UnKnownDatabasetest”,提示test数据库未知的异常。文本文件的数据抽取步骤双击打开“文本文件输入”控件,进入文本文件输入属性设置。34在“核心对象”中,选择“输入”,双击“文本文件输入”,在创建的转换trans_txtExtract_test工作区中添加文本文件输入的控件对象。在“文件”选单中点击浏览,在弹出的文件浏览器中选中需要被抽取的文本文件TxtExtract_test.tx;4.1文本文件的数据抽取步骤4.2点击增加,把文件添加到选中的文件列表中,如图所示添加需要抽取的文本文件文本文件的数据抽取步骤4.3选择“内容”选单页,不改变默认的文件类型,修改分隔符为第1)步中分析的“|”,把“头部”后的复选框取消选中,其余保持默认值,如图所示;分隔符设定文本文件的数据抽取步骤4.4选择“字段”,根据文本文件内容,键入3个新字段名称,name、id、date,再分别指定字段类型,这里均指定为String型;点击页面下方的“预览记录”,则把从文本文件中的内容根据设定的字段进行抽取并预览显示,如图所示;预览文本文件抽取数据Web数据抽取数据抽取分类WEBHTML文件抽取JSON数据抽取XML数据抽取人工方法进行HTML的数据抽取,主要的任务就是通过人工对网页源码结果的分析,借助编程语言,使用正则表达式,匹配HTML中的标签和标签属性,把有用的需要的数据过滤出来,实现HTML文件的数据抽取工作。JSON的数据表现直截了当,通过花括号{}包裹,冒号:前面是数据的键,后面是数据的值,多个数据之间用逗号,分隔,若存在JsonArray,则用[]把数组的内容包裹起来。完全免除了对HTML源码标签和属性的分析,解决了人力负担在kettle中可以使用两种方式读取和解析XML文件,分别是Getdatafromxml和XMLInputStream(StAX)Web数据抽取数据抽取实例JSON第一步第二步第三步选择JSON文件,文件名为chinacitylist.js。如果使用kettle读取JSON文件,则文件的后缀名需要改为js,让kettle把该文件作为一个JavaScript文件来读取。在kettle的核心对象树中选择“Input”,而不是“输入”。从Input中,选中JSONInput对象,双击或者拖动到转化的编辑区域,根据读取的JSON文件的内容修改该对象名称为JSONInputChinaCity。双击该对象,进行属性设置。在文件选项页中先浏览需要读取的文件,再选择增加,注意JSON文件的后缀名已经改为了js,如图5-6所示Web数据抽取JSON先“浏览”找到需要抽取的JSON文件;再“增加”把选中的文件添加到“选中的文件”列表中添加需要读取的JSON文件数据库数据清洗第四步在“字段”选项页中需要抽取的JSON文件的字段进行指派,这也是JSON文件抽取和之前提到的所有文件类型抽取的最大不同,JSONInput缺少自动获取JSON文件的字段,需要人工手动的进行输入,而且路径必须输入准确,并且对于JSON文件中需要抽取的内容,JSONInput也有一些特殊要求。设置JSON字段Web数据抽取JSON抽取字段设置每个JSON文件的字段内容均不相同,所以不同的JSON文件在抽取的时候都必须重新设置字段;字段的名字是在抽取后显示的列名,可以使用中文;字段的路径必须根据JSONPath规定的符号来设置JSONPath的符号规范Web数据抽取点击预览,查看抽取效果,如图5-9所示第五步第六步从左侧“核心对象”选择“输出”,“Excel输出”
,拖动到工作区,把JSONInput的主输出指向该Excel输出,在Excel输出中指定需要保存的xls路径和文件名,点击执行,就可以通过kettle抽取JSON文件中指定了路径的数据键,把这些内容抽取并保存到Excel文件中。chinacitylist.js文件抽取预览数据库数据抽取工具抽取ELT第一步使用Kettle创建2种数据连接,一种针对于MySQL,一种针对MSSQLServer,假定两种DBMS都安装在本地。MySQL的数据库名为world,假设抽取其中那个的country表,同理在MSSQLServer上需要创建一个同名数据库(数据库名字可以修改,为了保证数据抽取时的一致性,建议同名),并根据源数据库的country表字段创建新库的数据表。从MySQL中把数据库迁移到MSSQLServer创建2个不同DBMS的数据源连接数据库数据抽取数据源连接设置设置MSSQLServer数据连接数据库数据抽取第三步第四步第五步从“核心对象树”中选择“输出”,“表输出”,并拖动到工作区中,按住Shift和鼠标左键从字段选择拉一根连接线到表输出。双击表输出,在表输出属性页中选择“数据库连接”为之前设置的SQLServer连接world_mssql,目标表选中country,“指定数据库字段”复选框为选中状态。从“核心对象树”中选择“转化”,“字段选择”,并拖动到工作区中,按住Shift键和鼠标左键从表输入拖动连接线到字段选择,然后双击字段选择,设置需要显示在目标数据表中的字段。在“数据库字段”选项页中点击“获取字段”,由于输入表结构和输出表结构基本一致(部分数据类型不同),Kettle会自动匹配输入流中的字段名和输出表中的字段。工具抽取ELT从MySQL中把数据库迁移到MSSQLServer数据库文件抽取工具抽取ELT第六步点击“运行这个转换”,查看日志是否完成,提示表输出完成处理,Spoon转换完成则表示从MySQL到MSSQLServer的数据抽取已经成功完成。通过Visual.Net查看MSSQLServer的world数据库country表,查询到所有亚洲国家的数据。从MySQL中把数据库迁移到MSSQLServer从MySQLworld数据库中抽取亚洲国家数据到MSSQLServer增量数据抽取运用控件对“逻辑错误类型1”进行清洗方法21)对“逻辑错误类型1”进行清洗第一步第二步第三步第四步建立“表输入”“去除重复记录”“表输出”之间的连接建立表输入,明确输入流设置去除重复记录。”用来比较的字段”列表填写course_info表中的所有字段设置“表输出”逻辑错误类型1是指字段内容重复的情况。增量数据抽取实验内容通过时间戳方式把MySQL数据库中的time_job表中新增和修改数据增量抽取到time_job_bak表中。第一步在MySQL数据库中创建数据表time_job和备份表time_job_bak,也可以直接在选定的数据表中添加update_time字段,实现时间戳增量抽取。第二步time_job和time_job_bak表结构相同,包含uuid,create_time,update_time三个字段,默认情况下create_time和update_time值相同。第三步在Kettle中设置数据连接,使用Ctrl+N快捷键新建一个转化,保存命名为“增量抽取源表生成”。从左侧“核心对象”导航栏中依次添加“生成随机数”、“获取系统信息”和“表输出”三个对象组件,如图5-12所示。核心对象组件的可以在左侧导航栏的“步骤”框中输入关键字进行检索,如图5-13所示。增量数据抽取增量抽取源表生成核心对象增量抽取源表生成核心对象通过关键字搜索核心对象增量数据抽取第四步“生成随机数”对象主要为了生成数据表的主键uuid,在“生成随机数”属性中,“字段”项中的“类型”属性值就有一个UUID类型可以选择,直接随机生成uuid字段值第五步“获取系统信息”对象获取系统日期,为time_job表中create_time和update_time字段提供数据,和“生成随机值”对象类似,字段项的“名称”属性需要手动输入,“类型”属性在下拉菜单中选取。第六步“表输出”指定目标数据库和数据表,指定数据表字段,并设置流和表字段的映射关系,设置方式和前面的示例一致增量数据抽取第七步点击左上角“执行这个转化”,如果执行结果无异常表示执行成功。进入MySQLWorkBench看出time_job表完成一次转化后的结果,如下图所示。第八步作为增量数据抽取的源数据表,需要对该表添加更多的数据,通过在Kettle中添加作业Job来实现持续向time_job表中添加纪录。增量数据抽取作业作为包含多个转化的集合,让单次执行的转化成为持续或定时调度运行的工作。通过Ctrl+Alt+N创建作业,保存命名为“生成增量测试源表”,其中包含的作业核心对象和连接关系如图5-14所示。“生成增量测试源表”作业核心组件增量数据抽取第九步从“核心对象”,“通用”,选择“START”组件,双击添加到右侧编辑工作区,双击“START”进入属性设置,设置作业的调度方式。“START”属性设置增量数据抽取第十步“转化”属性设置相对简单,在“转化文件名”指定之前创建的转化文件“增量抽取源表生成.ktr”,指定后,在文本框中出现的内容是环境变量表示形式。转换属性设置增量数据抽取第十一步“写日志”的目的是为了记录每次作业的执行情况,各位读者可以自行查询Kettle中日志的创建,这里就不再赘述。执行“生成增量测试源表”作业,Kettle会根据START对象中设置的时间间隔,持续性执行转换,向time_job表中添加数据,几分钟后点击“Stopthecurrentlyrunning
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DB5308T 70-2023 湿加松造林技术规程
- DB5307T 18-2019 夏播油菜栽培技术规程
- 质量检验流程制度
- 电子厂产品质量管理办法
- 2026江西吉安市吉州区人民检察院聘用制文员招聘2人备考题库及完整答案详解1套
- 2026云南保山隆阳区潞江镇人民政府招聘辅助执法人员10人备考题库及答案详解1套
- 2026湘潭产兴私募股权基金管理有限责任公司招聘8人备考题库及一套参考答案详解
- 2026重庆医科大学附属永川医院第二批编外人员招聘30人备考题库及1套参考答案详解
- 2026虎驼峰实业(集团)有限公司招聘50人备考题库及参考答案详解1套
- 化工危废处理安全准则
- (正式版)DB54∕T 0428-2025 《“一河(湖)一策”方案编制规程》
- 地贫防控知识培训课件
- GB/T 26941-2025隔离栅
- 人工智能概论课程教学大纲
- 2025年江西省中级档案职称考试(档案事业概论)经典试题及答案
- 新疆公务员面试题目及答案
- 物理与现代军事科技
- 2024年广西建设职业技术学院聘用人员招聘考试真题
- 国企尽职调查管理办法
- 2024年浙江省杭州拱墅小升初分班考科学试卷(含答案)
- 期末必刷选填题 (十七大题型)(原卷版)-2024-2025学年沪教版七年级数学下册
评论
0/150
提交评论