前5名的企业ETL工具

来源:https://dzone.com/articles/top-5-enterprise-etl-tools

https://stackshare.io/stackups/airflow-vs-apache-nifi

如果您希望采用一种新的工具来帮助执行ETL过程,请查看以下五个选项列表,看看哪一个适合您的需要。

随着数据量的不断增长,企业对数据仓库项目和高级分析系统的需求也在不断增加。ETL是它们的基本元素。它确保在各种数据库和应用程序中成功地集成数据。在这个ETL工具的比较中,我们将看到:

Apache NiFi

Apache StreamSets

Apache Airflow

AWS Data Pipeline

AWS Glue

它们是2019年最受欢迎的ETL工具之一。让我们比较一下利弊,找出适合您项目的最佳解决方案。

由于其缩写的“简单”解释,ETL的意思经常被误解。它代表三个数据仓库概念:提取、转换和加载。因此,ETL过程包括:

从不同的外部源提取数据

根据业务模式的需要对其进行转换。

将数据加载到新仓库。

ETL只是数据移动任务的一个子集。Ralph的Kimball书,数据仓库ETL工具包,定义了它的三个基本特性:

数据以适当的格式下载,以便进行分析。

它补充了更多的信息。

系统记录和记录数据的来源。

因此,数据不应该只是从一个地方重新加载到另一个地方——它应该在加载过程中得到改进。例如,ETL开发人员可以添加新的计算属性或技术属性。重要的是要跟踪数据在数据库中是如何出现的,以及如何和何时进行了更改。

一、ETL过程的步骤

一个web程序员可以把ETL架构想象成三个方面的集合:

一个数据源。

一个中间区域。

一个数据接收器。

数据流是数据从源到接收方的移动。每一个阶段都可能相当复杂。创建ETL软件的过程包括不同的挑战:

外部资源的多样性。

根据业务规则统一数据。

更新的频率和其他特定需求。

这就是IT公司需要清楚地了解源和目标应用程序的结构的原因。

二、一个ETL的例子

常见的ETL任务是将数据从RDBMS传输到另一个更好地用于商业智能工具的数据库。ETL工作分为两类:

(1)批处理作业

(2)流作业

从RDBMS获取数据的例子就是流作业的一个例子。数据被一个接一个地分开传输以便进一步处理。否则,我们可以讨论批处理作业。这意味着您可以对整个文件进行处理,并将其保存为更大的文件。不同的ETL系统以不同的方式处理这些任务。

如今,“批处理”方式已成为一种遗风。流数据源的不断增加导致ETL工具主要用于流作业。他们尽可能快地提供最新的数据。

通用和基于云的数据集成工具的多样性使得选择非常困难。因此,我准备了5个可靠的ETL解决方案(根据我的经验)。

1. Apache Nifi

价格:免费

官方网站:https://nifi.apache.org/

有用的资源:文档、教程

优点:

完美实现数据流编程概念。

处理二进制数据的机会。

数据来源。

缺点:

简单的用户界面。

缺少实时监控和每条记录的统计信息。

最好的ETL工具列表中的第一个是开源项目Apache NiFi。由Apache软件基金会开发,它基于数据流编程的概念。这意味着这个ETL工具允许我们可视化地从盒子中组装程序,并且几乎不需要编码就可以运行它们。所以,你不需要知道任何编程语言。

作为最流行的开放源码ETL工具之一,NiFi能够使用许多不同的源代码。例如RabbitMQ、JDBC查询、Hadoop、MQTT、UDP套接字等。至于操作,您可以筛选、调整、连接、分割、增强和验证数据。

Apache NiFi是用Java编写的,并在Apache 2.0许可下发布。它运行在JVM上,支持所有JVM语言。

这个ETL工具有助于创建长时间运行的作业,适合处理流数据和周期性批处理。对于手动管理的作业,它们也是可能的。然而,在建立这些机构时,有面临困难的风险。

由于其全面的体系结构,Apache NiFi被认为是最好的开源ETL工具之一。它是一个功能强大且易于使用的解决方案。FlowFile包括元信息。因此,该工具的可能性并不局限于CSV。您可以使用照片、视频、音频文件或二进制数据。

处理器包括三种输出:

(1)失败意味着FlowFile的适当处理存在问题。

(2)显示传入的流文件已被处理。

(3)成功表示流程文件的处理已经完成。

如果要删除终止的输出,可以使用特殊的复选框。您应该关注过程组。在高级ETL编程中,它们是结合复杂数据流元素所必需的。

另一个很棒的特性是可以使用各种队列策略(FIFO、LIFO等)。数据来源是一个连接服务,记录几乎所有的数据流。它非常方便,因为您可以看到数据是如何保存或执行的。唯一的缺点是该函数需要大量磁盘空间。

一些用户抱怨Apache NiFi的界面。实际上,它并不令人印象深刻,但它的可用性已经足够好了。UI有一个清晰、极简的设计,没有额外的元素。唯一的例外是对于长SQL查询缺少对文本字段的自动调整。你应该手动操作。

还有一个内置的节点集群。您可以选择几个实例,它将提取必要的ETL数据。Apache NiFi包括背压。快速连接MySQL、获取文件并将其添加到下一个处理器都需要使用它。

总之,Apache NiFi是其他主流ETL工具的不错选择。它的主要优点是有100多种不同的嵌入式处理器。它们提供了通过HTTP、S3或谷歌数据源下载文件并上传到MySQL或其他数据接收器的机会。您只需配置UI,按下RUN按钮,如果一切正常,它就会工作。

3. Apache Airflow

价格:免费

官方网站:https://airflow.apache.org

有用的资源:教程

优点:

适合不同类型的任务。

用户友好的界面,清晰的可视化。

可伸缩的解决方案。

缺点:

不适合流媒体工作。

需要额外的操作符。

这个用于设计、创建和跟踪工作流的现代平台是一个开源的ETL软件。它可以用于云服务,包括GCP、Azure和AWS。有机会使用天文学家企业号在Kubernetes上运行Airflow 。

您可以使用Python编写代码,但不必担心XML或拖放gui。工作流是用Python编写的,但是,步骤本身可以用任何您想要的方式完成。Airflow 被创建为一个非常灵活的任务调度程序。顶级的ETL工具之一适用于许多不同的用途。它用于训练ML模型、发送通知、跟踪系统和各种api中的强大功能。

关于平台的主要事实:

请您访问我们的主页或者发送给我们电子邮件。

它由Airbnb于2015年创建,并于2016年转型为Apache。

谷歌云设计的基础(2018年夏季测试版)。

工作流以有向无环图的形式执行。

Apache Airflow 是根据四个基本原则设计的。开发人员的目标是创建一个动态的、可扩展的、优雅的、可伸缩的解决方案。因此,它通过Python编码提供了动态管道生成。您还可以定义自己的操作符和执行器,并根据需要的抽象级别扩展库。管道清晰而准确,因为平台的核心包含了参数化。由于采用了模块化设计的消息队列,Airflow 可以很容易地缩放。

Apache Airflow 适用于大多数日常任务(运行ETL作业和ML管道,交付数据和完成DB备份)。但是,对于流作业来说,这是一个糟糕的选择。

该平台拥有一个充满可视化元素的现代UI。您可以看到所有正在运行的管道、跟踪进度和修复bug。这有助于在DAGs上完成复杂的任务。

至于工作流,它们是恒定和稳定的。该结构只是比ETL数据库更具动态性。如果您将工作流定义为代码,它们将更具有协作性、版本化、可测试性和可维护性。

该平台运行在私有Kubernetes集群上。它还包括资源管理工具和分析(StatsD, Prometheus, Grafana)。

Airflow 工作流程的ETL测试怎么样?您可以使用:

单元测试

集成测试

端到端测试(在某些情况下)

第一种类型适合检查DAG加载、Python操作符函数、自定义操作符和Bash/EMR脚本。该平台不需要任何原始配置。惟一需要更改的是DB连接字符串。您需要创建一个空数据库,并给用户创建/修改的权限。所以,一个Airflow 命令会处理所有剩下的。

总之,Apache Airflow 是一个用Python编写的自由、独立的框架。它是开源ETL工具的一个很好的例子。单独运行Airflow 是很有挑战性的,所以你应该使用不同的算子。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,509评论 6 504
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,806评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,875评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,441评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,488评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,365评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,190评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,062评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,500评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,706评论 3 335
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,834评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,559评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,167评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,779评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,912评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,958评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,779评论 2 354