• MongoDB数据迁移之迁移工具Kettle


    MongoDB数据迁移之迁移工具Kettle

    ETL:简介

      ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程),对于企业或行业应用来说,我们经常会遇到各种数据的处理,转换,迁移,所以了解并掌握一种etl工具的使用,必不可少的,Kettle就是强大的ETL工具。

    Kettle:概念

      Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。

      Kettle中有两种脚本文件,transformation(.ktr)和job(.kjb),transformation完成针对数据的基础转换,job则完成整个工作流的控制。

    Kettle:四大家族(核心组件)

      Chef(中文:厨师)、Kitchen(中文:厨房)、Spoon(中文:勺子)、Pan(中文:平底锅)
      
      Chef—工作(job)设计工具 (GUI方式)。
      Kitchen—工作(job)执行器 (命令行方式)。
      Spoon—转换(transform)设计工具 (GUI方式)。
      pan—转换(transform)执行器 (命令行方式)。

    Job和Transformation的差别:Transformation专注于数据的ETL,而Job的范围比较广,可以是Transformation,也可以是Mail、SQL、Shell、FTP等,甚至可以是另外一个Job。

    MongoDb简介

      MongoDB是一个基于分布式文件存储 的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。

      MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

    Kettle之实现MongoDb数据库数据迁移
    1、创建转换

      新建一个”Transformmations”(双击Transformmations即可),然后选择”Design”栏,将”Big Data”下的”MongoDB input”,图标拖进工作区。

    在这里插入图片描述
      设置”MongoDB Input”相关内容(双击图表即可)。

    在这里插入图片描述

    在这里插入图片描述
      还可以提前预览数据,点击预览,选择限制预览行数。

    在这里插入图片描述
      成功预览10行数据。

    在这里插入图片描述
      字段筛选

    在这里插入图片描述
      JSON(JavaScript Object Notation, JS对象简谱)是- - 种轻量级的数据交换格式。JSON对象本质上就是一一个JS对象,但是这个对象比较特殊,它可以直接转换为字符串,在不同语言中进行传递,通过工具又可以转换为其他语言中的对象。。
      JSON核心概念:数组、对象、属性。
        数组: []
        对象: {}
        属性: key:value
      JSON Path
      JSONPath类似于XPath在xml文档中的定位,JsonPath 表达式通常是用来路径检索或设置Json的。其表达式可以接受“dot - notation" (点记法)和“bracket - notation" (括号记法)格式
    点记法: $.store.book[]title
    括号记法: $[ ‘store’ ][ 'book’ ][0][ ‘title’ ]

    在这里插入图片描述

      选择”输出”栏,将”输出”下的”JSON output”,图标拖进工作区。按住Shift键,产生连线。

    在这里插入图片描述
      即可生成data字段大json

    在这里插入图片描述
      在对数据进行操作是可以记录时间,既可借助输入下的获取系统信息设置记录生成时间字段。

    在这里插入图片描述
      将”脚本”下的”JavaScript代码”,图标拖进工作区。通过JavaScript代码实现字段的插入生成。

    在这里插入图片描述  将”转换”下的”字段选择”,图标拖进工作区。可实现选择和修改字段移除字段功能。

    在这里插入图片描述
      将”Big Data”下的”MongoDB output”,图标拖进工作区。依旧将数据输出保存到MongoDB数据库中。

    在这里插入图片描述  点击运行即可,运行结束后,我们可以在下方看到运行结果,其中有日志,数据浏览等。
    在这里插入图片描述
      即完成一次转换

  • 相关阅读:
    rpc.rquotad: unable to register (RQUOTAPROG, RQUOTAVERS, udp)
    大语言模型(LLM)工作的3个步骤,一文带你搞清楚!
    resulttype和resultmap的区别和应用场景
    一起学习集合框架之 TreeSet
    2022-11-30 mysql-Tuning InnoDB Primary Keys
    Spring Bean的生命周期
    JDK动态代理和CGLIB动态代理介绍
    磁盘空间:谁占用空间看的一清二楚 - dust
    DC电源模块高低温试验的重要性
    七牛云 vue 图片上传简单解说,js 上传文件图片
  • 原文地址:https://blog.csdn.net/weixin_36723038/article/details/128123584