取消
显示结果 
搜索替代 
您的意思是: 
cancel
3543
查看次数
10
有帮助
4
评论
julianchen
Spotlight
Spotlight
3. Apache Airflow

定价 :免费
官方网站:https://airflow.apache.org
实用资源:教程(https://airflow.apache.org/tutorial.html
优点:
u 适合不同类型的任务。
u 具有清晰且可视化的用户界面。
u 提供可扩展的方案。
缺点:
u 不适合流式作业。
u 需要额外的运算符(operators)。
这是一种被用于创建与跟踪工作流的开源式ETL软件。它可以与包括GCPAzureAWS在内的云服务一起使用。同时,您可以在Kubernetes上通过Astronomer Enterprise来运行Airflow
在使用Python来编写工作流代码时,您不必担心XMLGUI拖放等问题,这些步骤具有一定的智能性。作为一款灵活的任务调度程序,Airflow可以被用在许多API之中,以实现训练ML模型、发送通知、跟踪系统、以及增强函数等目的。
该平台具有如下主要特点:
u 通过Quboleastronomer.io来提供Airflow-as-a-Service
u 2015年由Airbnb所创建,2016年转入Apache
u Google Cloud Composer为基础。
u 工作流程被作为有向无环图(directed acyclic graphsDAGs)执行。
开发者可以用Apache Airflow来创建dynamicextensibleelegantscalable四种解决方案。因此,它通过Python代码提供了动态管道的生成。同时,您还可以自定义运算符和执行程序,以及按需扩展的抽象库。由于相关参数已被包含在平台的核心里,因此它能够创建出各种清晰准确的管道。此外,模块化与消息队列式的设计,也让Airflow更容易实现按需扩展。
Apache Airflow适用于大多数日常任务,包括:运行ETL作业和ML管道,提供数据和完成数据库备份。但是,对于流式作业来说,这并不是是一个很好的选择。
该平台具有可视化元素的时尚UI。您可以查看所有正在运行的管道,跟踪进度并修复错误。这些都有助于用户完成DAG上的复杂任务。
虽然该结构比ETL数据库更具动态性,但是它能够提供稳定的工作流。因此,如果您将工作流定义为代码的话,它们将更具有协作性、可版本化、可测试性和可维护性。
该平台可运行在私有的Kubernetes集群中,并包含各种资源管理与分析工具,例如:StatsDPrometheusGrafana
您可以使用如下的Airflow工作流,来进行ETL测试:
u 单元测试
u 集成测试
u 端到端测试(在某些情况下)
上述第一种类型适用于检查DAG的加载、Python运算符函数、各种自定义运算符和Bash/EMR脚本。该平台不需要任何原始配置,其唯一需要更改的地方是:DB连接字符串。您需要创建一个空的数据库,并授予用户CREATE/ALTER的权限。剩下的就可以交给Airflow去完成了。
总而言之,Apache Airflow是一款由Python编写的免费独立框架。如果您想单独运行Airflow的话,则会面临一些挑战,因此您最好使用一些不同的运算符。
4. AWS Data Pipeline

定价:不定,请参见https://aws.amazon.com/datapipeline/pricing/
官方网站:https://aws.amazon.com/datapipeline/
实用资源:文档(https://docs.aws.amazon.com/data-pipeline/index.html#lang/en_us),社区论坛(https://forums.aws.amazon.com/forum.jspa?forumID=151
优点:
u 易用的ETL技术
u 价格合理
u 灵活性好
缺点:
u 没有太多内置函数
Web服务确保了数据在AWS计算资源和各种数据源之间的处理和移动。它能够对已存储的数据提供永久的访问与转换。其最终结果也可以被转移到诸如:Amazon DynamoDBAmazon RDSAmazon EMRAmazon S3等服务之中。该ETL工具简化了创建复杂数据处理负载的相关过程,有助于实现可重复、高可用且可靠的用例负载(case-load)。
AWS Data Pipeline能够移动和处理那些被锁在本地数据孤岛中的数据。Amazon号称其ETL工具有如下六项主要优势:
u 准确性
u 简单性
u 适应性
u 价钱合理
u 可扩展性
u 透明度
AWS Data Pipeline是一种可靠的服务,它能够在发生故障时,自动对各种活动进程进行重试。通过配置,您可以通过Amazon SNS接收到运行成功、延时或失败等通知。
您还可以通过拖放控制台,来简单快速地设计各种管道。其内置的预置条件,省去了您通过额外编写逻辑去调用它们。Web开发人员可能会用到的功能包括:调度、依赖关系跟踪和问题处理。同时,该服务也被灵活地设计为能够流畅地处理大量文件。
AWS Data Pipeline是一种无服务器式的编排服务,因此您只需为自己所使用的内容付费。同时,它为新用户提供了免费的试用版。通过该透明式方案,用户能够接收与管道相关的完整信息,并完全控制各种计算资源。
这款ETL工具很适合于执行各种管道作业。我在当前的项目中就使用它来传输各种数据。虽然AWS Data Pipeline没有丰富的内置函数,但是它提供了便捷的UI和内置了多种处理器的实用工具。用户可以用它来生成各种实例,并实现级联式的文件管理。
5. AWS Glue

定价:不定,请参见https://aws.amazon.com/glue/pricing/
官方网站:https://aws.amazon.com/glue/
实用资源:教程(https://aws.amazon.com/getting-started/tutorials/
优点:
u 支持各种数据源。
u AWS的各种服务有良好的集成。
缺点:
u 需要大量的手工操作。
u 灵活性差。
AWS Glue允许您在AWS管理控制台中创建和运行一项ETL作业。该服务能够从AWS中获取各种数据和元数据,并通过放入相应的类目,以供ETL进行搜索、查询和使用。整个过程包括分为如下三个步骤:
u 通过构建类目(包括JSONCSVParquet和许多其他格式)对数据进行分类。
u 生成ETL代码和各种编辑转换(可用ScalaPython编写)。
u 调度和运行各种ETL作业。
这款ETL工具具有如下三个主要优点:
u 便利性:由于能与众多的AWS服务和引擎相紧密集成,因此该工具对于那些已经使用了Amazon产品的用户来说,非常容易上手。不过,其缺点在于:您无法在本地、或任何其他云端环境中实现它。
u 经济实惠:无服务器解决方案意味着您无需配置或管理任何基础架构。因此,其成本取决于各个“数据处理单元”的开销。您只需为正在运行的作业付费便可。
u 功能强大:能够自动创建、维护和运行各种ETL作业。当然,该服务也需要大量的手工操作。
虽然AWS GlueAWS生态系统中的重要组成部分,但是您应该注意它的细微差别。该服务能够提供抽象级别的CSV文件。不过,您需要通过大量的手工操作,才能最终生成可运行的Spark代码。您可以在ScalaPython中下载相应的代码,并按需进行各种修改。虽然它适用于大量的数据源,但是该服务会最终强制您选取某一种特定的方案。而且您无法在后续的使用中,再去改用其他方式。
如何选择正确的ETL工具
InfoWorld曾断言:在构建数据仓库系统的方面,ETL的成本占比最大。用户需要特别关注由它所产生的瓶颈。因此,只有恰当地实施ETL,才能优化企业的成本、和加快员工的工作效率。最后,我为您列出如下五个方面,供您在选用ETL工具时进行参考:
u 系统的复杂性。
u 您的数据要求。
u 开发者的经验。
u ETL的技术成本。
u 特殊的业务需求。

【原标题】Top 5 Enterprise ETL Tools (作者Vitaliy Samofal )
原文链接:https://dzone.com/articles/top-5-enterprise-etl-tools
评论
likuo
Spotlight
Spotlight
很好的文章。
David Chou
Level 7
Level 7
專業說明收藏中.感謝
bo chen
Spotlight
Spotlight
干货满满,感谢分享
huajiang
Level 1
Level 1
认真学习了
入门指南

使用上面的搜索栏输入关键字、短语或问题,搜索问题的答案。

我们希望您在这里的旅程尽可能顺利,因此这里有一些链接可以帮助您快速熟悉思科社区:









快捷链接