为什么要用etl工具?自己手动写脚本然后运行不是也可以么?
4个回答
展开全部
成品ETL工具与手工写脚本之比较:
一、灵活性来讲:ETL工具比较灵活,需要在此平台上设置规则定义,前期是需要工具先前必须已有支持功能,如果需要扩展,要ETL工具源厂商开发。而自己写脚本只需先前好好调研需求,自己写能实现的功能即可。俗话说得好“求人不如求己”哈哈哈!
二、难易度:ETL工具相对上手比较容易,工程师只需具备两个必要条件:1 、对数据库熟悉 2、对客户的业务逻辑了解。手动写脚本呢?不仅要具备操作ETL工具的条件,还要必须有一定技术水平。
三、后期管理与维护:ETL工具非常容易,这点上是用工具的最给力的优势。可能也是ETL工具诞生的缘由吧!原因:人力少不说,如有新的需求,只需稍加改动,图形配置定义即可。而手工编码呢?较难。需要重又开发写程序,随着数据信息的日积月累,每日数据的递增,更新。开发的速度赶不上需求的更新,严重到先前开发架构不合理甚至于有可能推倒重来的风险。如果取中间,既有图形配置有兼具脚本开发功能,有款中国的Beeload/ BeeDI
四、性能和效率:这方面取决于多方面如:1、硬件:服务器 CPU 内存 2、数据库类型 数据类型 3、网络状况 4 、ETL 工具的配置 设计。。。。。整体来说 工具属于较高范畴,各家成熟ETL 不一致、各有千秋。手工写脚本就要看编程者的水平啦!因人而异,如果直接在数据库上写存储过兴许比任何一家成品工具高得多。在性能上,工具当属老美的informatica IBM 的DS
五、开发周期:工具只需操作上源厂商负责培训,再把客户目前需求了解透彻,周期很短,上线见效快。手工编码不仅需要把客户(当前)需求了解透彻,未来需求也要有所预测,再进行开发。这样周期就不得而知了。
六、工作量:从上述些显然保守点得出:ETL工具属中等,手工编码属较重。写好程序还需大量测试工具,不断修正BUG 与完善。成熟工具已把这些工具先前做过了,即使有,也是可以容忍个别,源厂商可以分担修正。
七、投入成本价格:ETL工具前期成本投入较多,钞票先付。后期维护成本相对低。编写脚本,先期投入人力(工程师的工薪)中期大量测试人力,后期维护人力(工程师的工薪)看似相对较低。貌似不要票子的开源滴ETL工具 Kettle,后期才付费(服务费与培训费)
总之不管是用工具还是自己写脚本,要全盘考虑,根据各自项目大小,成本,愿意付出哪部分,适合的才是最佳滴!
一、灵活性来讲:ETL工具比较灵活,需要在此平台上设置规则定义,前期是需要工具先前必须已有支持功能,如果需要扩展,要ETL工具源厂商开发。而自己写脚本只需先前好好调研需求,自己写能实现的功能即可。俗话说得好“求人不如求己”哈哈哈!
二、难易度:ETL工具相对上手比较容易,工程师只需具备两个必要条件:1 、对数据库熟悉 2、对客户的业务逻辑了解。手动写脚本呢?不仅要具备操作ETL工具的条件,还要必须有一定技术水平。
三、后期管理与维护:ETL工具非常容易,这点上是用工具的最给力的优势。可能也是ETL工具诞生的缘由吧!原因:人力少不说,如有新的需求,只需稍加改动,图形配置定义即可。而手工编码呢?较难。需要重又开发写程序,随着数据信息的日积月累,每日数据的递增,更新。开发的速度赶不上需求的更新,严重到先前开发架构不合理甚至于有可能推倒重来的风险。如果取中间,既有图形配置有兼具脚本开发功能,有款中国的Beeload/ BeeDI
四、性能和效率:这方面取决于多方面如:1、硬件:服务器 CPU 内存 2、数据库类型 数据类型 3、网络状况 4 、ETL 工具的配置 设计。。。。。整体来说 工具属于较高范畴,各家成熟ETL 不一致、各有千秋。手工写脚本就要看编程者的水平啦!因人而异,如果直接在数据库上写存储过兴许比任何一家成品工具高得多。在性能上,工具当属老美的informatica IBM 的DS
五、开发周期:工具只需操作上源厂商负责培训,再把客户目前需求了解透彻,周期很短,上线见效快。手工编码不仅需要把客户(当前)需求了解透彻,未来需求也要有所预测,再进行开发。这样周期就不得而知了。
六、工作量:从上述些显然保守点得出:ETL工具属中等,手工编码属较重。写好程序还需大量测试工具,不断修正BUG 与完善。成熟工具已把这些工具先前做过了,即使有,也是可以容忍个别,源厂商可以分担修正。
七、投入成本价格:ETL工具前期成本投入较多,钞票先付。后期维护成本相对低。编写脚本,先期投入人力(工程师的工薪)中期大量测试人力,后期维护人力(工程师的工薪)看似相对较低。貌似不要票子的开源滴ETL工具 Kettle,后期才付费(服务费与培训费)
总之不管是用工具还是自己写脚本,要全盘考虑,根据各自项目大小,成本,愿意付出哪部分,适合的才是最佳滴!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
AiPPT
2024-09-19 广告
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图...
点击进入详情页
本回答由AiPPT提供
推荐于2017-09-19
展开全部
首先要理解 "etl" ,"etl工具" ,"etl调度工具" 这三者的概念区别
"脚本"对应的是etl领域中的"任务"实例
"etl工具"通常对应的是对etl领域中"任务调度"的工具
也有一些工具,比如微软的ssis也自称为etl工具,事实上在国内大型etl项目中:如银行项目,是不会采用ssis来做项目的,通常是国外专业的etl调度工具提供商,如control-m ,datastage等.
当然,国内也有优秀的调度产品 "taskctl" ,可以了解下!它提出了几个新的概念:
从根本上解决了现今市场ETL调度产品中"流程监控表达困难"的窘境!
同时它是无数据库的产品.从部署实践角度来说,显得非常方便.降低了部署运行环境的难度(在某些ETL调度产品,部署运行环境困难也是一个很恼火的事情)
首次采用了流程"编程概念",实现了调度流程的快速开发.(在某些ETL调度产品中,都是采用设置的方法来配置流程的.也许几十几百个可以慢慢配置.但是如果涉及到上千上万个任务,就显得捉襟见肘了)
为什么要用etl工具?就相当于上面举taskctl这个例子,是从"量变到质变"的过程!
"脚本"对应的是etl领域中的"任务"实例
"etl工具"通常对应的是对etl领域中"任务调度"的工具
也有一些工具,比如微软的ssis也自称为etl工具,事实上在国内大型etl项目中:如银行项目,是不会采用ssis来做项目的,通常是国外专业的etl调度工具提供商,如control-m ,datastage等.
当然,国内也有优秀的调度产品 "taskctl" ,可以了解下!它提出了几个新的概念:
从根本上解决了现今市场ETL调度产品中"流程监控表达困难"的窘境!
同时它是无数据库的产品.从部署实践角度来说,显得非常方便.降低了部署运行环境的难度(在某些ETL调度产品,部署运行环境困难也是一个很恼火的事情)
首次采用了流程"编程概念",实现了调度流程的快速开发.(在某些ETL调度产品中,都是采用设置的方法来配置流程的.也许几十几百个可以慢慢配置.但是如果涉及到上千上万个任务,就显得捉襟见肘了)
为什么要用etl工具?就相当于上面举taskctl这个例子,是从"量变到质变"的过程!
参考资料: http://wenku.baidu.com/view/0c3767e8f8c75fbfc77db234.html
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
其实的确是不一定要使用ETL工具的。如果是比较规范的数据,自己用脚本语言写ETL比使用工具要迅速与容易维护得多。特别是可以Python/Perl等写个针对自己公司的ETL库包,后面完成新的ETL其实是很容易的。ETL工具,说白了,主要是给不那么熟悉编程的人用的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ETL工具可以跑批调度设置管理和监控,设置调度作业所对应的处理脚本
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询