草庐IT

kettle开发-Day38-其实chatGPT一直在身边

他们叫我技术总监 2024-07-09 原文

前言:

最近chatGPT火出圈,其实不是chatGPT多智能,只是它用了一种新的交互方式来组织我们现有的知识,然后通过“高智商”的表达来使我们惊艳。但是目前或者未来的人工智能缺少创造力,他们只会整合信息目的是提高我们的效率。现在好多人不是说,ChatGPT可以写小说吗?至少可以先让程序写一个初版,然后作家再亲自上手精修。针对这个现象,作为一个作家,特德·姜给自己的同行提了个建议。就是,不要这么干。因为初稿对作家来说,其实很重要。

借用特德·姜的原话。你的初稿只是一个原始想法的拙劣表达,你对它是不满意的,而初稿的价值,就在于让你意识到,你所说的和想说的之间的距离。这能够指导你重写东西。当你使用人工智能写初稿时,你将缺少这种指导。正如有句话说的,最适合你往上攀登的台阶,往往不是别人,而是昨天的自己。其实在我们身边的很多工具早就有了chatGPT的功能了。今天分享kettle中的那些人工智能。

一、kettle的AI能力目录

  1. 跨库同步

传统

kettle

效果对比

  1. 源库与目标库类型一致

  1. 需提前整理表名、表结构等

  1. 只能全库同步、批量SQ表同步

  1. 不限制数据库类型

  1. 无需整理SQ

  1. 1:1灵活复制

  1. 传统方式耗时长、数据库类型限制

  1. kettle可灵活选择、无数据库类型限制

  1. kettle更AI(智能)

例:

源库是oracle,目标库必须是oracle,同步时数据泵或者第三方同步软件全库或者批量表同步

例:

源库是mysql,目标库可以是oracle、mysql、sqlserver任一类型,灵活选择同步方式

2.自动开发

传统

kettle

效果对比

  1. 写数据泵脚本、等待同步耗时在一天左右

  1. 编写建表SQ、同步表超一百时,错误率高、开发周期长

  1. 购买第三方软件,选型时间长,部署服务器、运维等,耗时长、成本高

1、可视化开发,可见即可得

2、标准化开发,几步自动完成

3、零代码开发,DevOps

  1. 传统方式耗时长、成本高

  1. kettle更AI、更高效

例:

源库是oracle,目标库必须是oracle,同步时数据泵或者第三方同步软件全库或者批量表同步

例:

源库是mysql,目标库可以是oracle、mysql、sqlserver任一类型,灵活选择同步方式

3.自动优化

传统

kettle

效果对比

表同步后,数据进数据库后不会根据数据量和开发程序的特点提出优化建议

  1. 开发程序不同自动生成优化脚本如自动生成单主键、联合主键索引

  1. 根据开发程序自动生成增删字段语句

  1. 根据源数据库数据自动匹配字段类型

  1. 传统方式下数据库优化全靠经验

  1. kettle模式下AI自动优化

例:

例:

  1. 插入更新模式下会自动生成插入更新主键索引

  1. 第一次抽取数据时会自动建表并根据数据量匹配数据类型,如number类型会根据源数据库的数的大小和小数点情况生成如number(10,5)的数据类型

更多优化知识可参加我上一节的文章

数据库优化

二、AI实例

1、跨库同步

sqlsever表同步至oracle数据库

1.1源库sqlserver

1.2目标库oracle

1.3可视化跨库同步

使用多表复制向导

选择跨库的表,下一步下一步,即可生成跨库同步程序

查看自动生成的复制程序,根据自己的需求可做微雕。如统一同步过来的表名称

最终效果

自动生成转换完成数据同步任务,非常的标准并且带有标准注释

执行作业后,目标库可查看到对应同步表

2、自动开发、优化

2.1自动开发

在上一步的跨库同步中,如果我们需要修改表名进行微雕时,我们直接修改目标表的名称,然后点击下面的SQL即可自动生成修改后的SQ语句点击执行即可。

2.2自动优化

当我们抽取模式选择插入更新时,kettle会自动根据开发模式生成关键字索引来提高程序运行效率

三、总结

我们常用的程序和工具都在向智能化转型,当然设计之初也都傻瓜式处理了。chatGPT拥有数据整合的能力并将整合后的知识“高情商”的表达出来了,这就是它革命的点。但AI终究只是一个辅助工具,人类才是真正的高智商的存在,只是我们大部分的能力待开发而已。因此当AI潮水漫过膝盖时,不要慌张,这时候多想想大禹就好了。

有关kettle开发-Day38-其实chatGPT一直在身边的更多相关文章

  1. ruby - 使用 C 扩展开发 ruby​​gem 时,如何使用 Rspec 在本地进行测试? - 2

    我正在编写一个包含C扩展的gem。通常当我写一个gem时,我会遵循TDD的过程,我会写一个失败的规范,然后处理代码直到它通过,等等......在“ext/mygem/mygem.c”中我的C扩展和在gemspec的“扩展”中配置的有效extconf.rb,如何运行我的规范并仍然加载我的C扩展?当我更改C代码时,我需要采取哪些步骤来重新编译代码?这可能是个愚蠢的问题,但是从我的gem的开发源代码树中输入“bundleinstall”不会构建任何native扩展。当我手动运行rubyext/mygem/extconf.rb时,我确实得到了一个Makefile(在整个项目的根目录中),然后当

  2. Ruby Sinatra 配置用于生产和开发 - 2

    我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm

  3. ruby - 是否可以覆盖 gemfile 进行本地开发? - 2

    我们的git存储库中目前有一个Gemfile。但是,有一个gem我只在我的环境中本地使用(我的团队不使用它)。为了使用它,我必须将它添加到我们的Gemfile中,但每次我checkout到我们的master/dev主分支时,由于与跟踪的gemfile冲突,我必须删除它。我想要的是类似Gemfile.local的东西,它将继承从Gemfile导入的gems,但也允许在那里导入新的gems以供使用只有我的机器。此文件将在.gitignore中被忽略。这可能吗? 最佳答案 设置BUNDLE_GEMFILE环境变量:BUNDLE_GEMFI

  4. ruby - 在 Windows 机器上使用 Ruby 进行开发是否会适得其反? - 2

    这似乎非常适得其反,因为太多的gem会在window上破裂。我一直在处理很多mysql和ruby​​-mysqlgem问题(gem本身发生段错误,一个名为UnixSocket的类显然在Windows机器上不能正常工作,等等)。我只是在浪费时间吗?我应该转向不同的脚本语言吗? 最佳答案 我在Windows上使用Ruby的经验很少,但是当我开始使用Ruby时,我是在Windows上,我的总体印象是它不是Windows原生系统。因此,在主要使用Windows多年之后,开始使用Ruby促使我切换回原来的系统Unix,这次是Linux。Rub

  5. ruby-on-rails - 在 Rails 开发环境中为 .ogv 文件设置 Mime 类型 - 2

    我正在玩HTML5视频并且在ERB中有以下片段:mp4视频从在我的开发环境中运行的服务器很好地流式传输到chrome。然而firefox显示带有海报图像的视频播放器,但带有一个大X。问题似乎是mongrel不确定ogv扩展的mime类型,并且只返回text/plain,如curl所示:$curl-Ihttp://0.0.0.0:3000/pr6.ogvHTTP/1.1200OKConnection:closeDate:Mon,19Apr201012:33:50GMTLast-Modified:Sun,18Apr201012:46:07GMTContent-Type:text/plain

  6. 世界前沿3D开发引擎HOOPS全面讲解——集3D数据读取、3D图形渲染、3D数据发布于一体的全新3D应用开发工具 - 2

    无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD

  7. 亚特兰蒂斯的回声(中文版): chatGPT 的杰作 - 2

    英文版英文链接关注公众号在“亚特兰蒂斯的回声”中踏上一段难忘的冒险之旅,深入未知的海洋深处。足智多谋的考古学家AriaSeaborne偶然发现了一件古代神器,揭示了一张通往失落之城亚特兰蒂斯的隐藏地图。在她神秘的导师内森·兰登教授的指导和勇敢的冒险家亚历克斯·默瑟的帮助下,阿丽亚开始了一段危险的旅程,以揭开这座传说中城市的真相。他们的冒险之旅带领他们穿越险恶的大海、神秘的岛屿和充满陷阱和谜语的致命迷宫。随着Aria潜在的魔法能力的觉醒,她被睿智勇敢的QueenNeria的幻象所指引,她让她为即将到来的挑战做好准备。三人组揭开亚特兰蒂斯令人惊叹的隐藏文明,并了解到邪恶的巫师马拉卡勋爵试图利用其古

  8. 【鸿蒙应用开发系列】- 获取系统设备信息以及版本API兼容调用方式 - 2

    在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList​()Obt

  9. 微信小程序开发入门与实战(Behaviors使用) - 2

    @作者:SYFStrive @博客首页:HomePage📜:微信小程序📌:个人社区(欢迎大佬们加入)👉:社区链接🔗📌:觉得文章不错可以点点关注👉:专栏连接🔗💃:感谢支持,学累了可以先看小段由小胖给大家带来的街舞👉微信小程序(🔥)目录自定义组件-behaviors    1、什么是behaviors    2、behaviors的工作方式    3、创建behavior    4、导入并使用behavior    5、behavior中所有可用的节点    6、同名字段的覆盖和组合规则总结最后自定义组件-behaviors    1、什么是behaviorsbehaviors是小程序中,用于实现

  10. ruby-on-rails - environment.rb 中设置的常量在开发模式中消失 - 2

    了解Rails缓存如何工作的人可以真正帮助我。这是嵌套在Rails::Initializer.runblock中的代码:config.after_initializedoSomeClass.const_set'SOME_CONST','SOME_VAL'end现在,如果我运行script/server并发出请求,一切都很好。然而,在我的Rails应用程序的第二个请求中,一切都因单元化常量错误而变得糟糕。在生产模式下,我可以成功发出第二个请求,这意味着常量仍然存在。我已通过将以上内容更改为以下内容来解决问题:config.after_initializedorequire'some_cl

随机推荐