现有ETL工具的局限性现有工具最大的局限性在于:它们被设计为“批量进行工作”,即:采集数据、上传数据、采集更多的数据、再上传之。这种批量加载数据在某些情况的确适用,但是在某些单独的方法上会存在一些问题。数据批处理与转换工具很难实现跨平台的数据源采集,特别是在涉及到变更数据捕获(CDC,Change Data Capture)的情况时。当上传批量数据出现问题时,您需要跟踪问题、排除故障并尽快重新提交作业。而这种批量处理方式是非常致命的,因为如果在数据仓库中存在着超过24小时的、被API调用与分配的数据;或者需要同时备份传入的数据,那么这些CDC信息就可能因此而丢失或被覆盖,从而会造成巨大的问题。而面对越来越多的数据流和其他类型的数据源时,尤其是在需要尽快提供最新数据的需求下,这些批处理的工具集就更加不适合了。最新ETL工具的概述最新的ETL工具套件是以实时流量数据处理和云计算为基础所构建的。它们与先进的云端数据仓库有着很好的集成,并能够支持持续增长的数据源和数据流。如今的趋势是:基于云的ETL服务。它们通常能够提供对实时数据、智能模式检测等方面的支持。随着对实时数据访问需求的出现,诸如Kafka之类的最新模型,都能够实现基于数据流的处理和分布式的消息队列。以Alooma为代表的公司,通过新的技术提供了基于SaaS平台和本地的解决方案。面对数据流,最新的ETL平台能够在完成加载的数据仓库内部,进行不同级别的转换,并通过Python、Java等代码以实现完全控制。而对于数据的完整性,最新的ETL平台通过强大的内置安全网络,能够实现各种错误的处理和报告。常见的最新ETL平台和工具下面列出了常见的最新ETL平台和工具:AloomaAlooma是一个为云服务构建的企业数据管道(data pipeline)平台。Alooma能够提供一种现代的、可扩展的、基于云端的ETL解决方案,它可以实时地将来自任何数据源的数据汇集到任何一个数据仓库之中。· 错误处理:处理、监控/报告、整流(restreaming)
· 转换:支持Python转换的ETL
ConfluentConfluent是一个基于Apache Kafka的全面数据流平台。它能够在数据流中发布、订阅、存储并处理数据。Confluent提供了其平台的开源版本。· 错误处理:仅监控
· 转换:ETL,Kafka Streams API
FivetranFivetran是一款SaaS类型的数据集成工具。它能够从不同的云服务、数据库和商业智能(BI)工具中提取数据,并将其加载到数据仓库之中。· 错误处理:仅监控
· 转型:有限的ELT
FlyDataFlyData是一款SaaS类型的数据迁移工具。它可用于管理MySQL、PostgreSQL、MariaDB、Percona的数据加载过程,并以CSV/TSV/JSON的格式记录到Amazon的Redshift数据仓库之中。· 错误处理:缓冲式处理
· 转型:有限的ELT
MatillionMatillion能够提供云端数据的集成。它是一款专为Amazon Redshift、Google BigQuery和Snowflake构建的ETL工具。· 错误处理:仅通过代码支持,但并非内置
· 转换:图形化构建的ETL
SnapLogicSnapLogic提供了数据集成平台即服务(data integration platform-as-a-service)的工具,可用于连接各种云端数据源、SaaS应用和本地的商业软件应用。· 错误处理:支持,但并非内置
· 转换:图形化构建的ETL
Stitch Data Stitch是一款云端优先(cloud-first)的、开发者专用工具,可用于快速地移动数据。· 错误处理:手动,记录在拒绝表(rejection table)中
· 转型:有限的准ETL
StreamSetsStreamSets是原生云(cloud-native)的产品集合,可用于控制数据漂移,以及与数据、数据源、数据基础架构、数据处理有关的变化问题。· 错误处理:有错误记录处理
· 转换:代码类和GUI的ETL
StriimStriim(发音为“stream”)是一个实时的流媒体分析和数据集成平台。· 错误处理:仅监控
· 转换:内置和具有Java功能的ETL
【原标题】 2018ETL Tools Comparison (作者: Garrett Alley )原文链接:https://dzone.com/articles/2018-etl-tools-comparison-1