vlambda博客
学习文章列表

Apache 新晋顶级项目-数据集成平台Apache Hop


Apache Hop(Hop Orchestration Platform 的首字母缩写)是一种数据编排(data orchestration )和数据工程平台(data engineering platform),旨在促进数据和元数据编制。Hop 可以让我们专注于问题的解决,而不受技术的阻碍。该项目起源于 Kettle,经过数年的重构,并于2020年9月进入 Apache 孵化器;2022年1月18日正式成为 Apache 顶级项目。

Hop 允许数据专业人员以可视化的方式工作,使用元数据来描述应如何处理数据。可视化设计使数据开发人员能够专注于他们想要做的事情,而不是需要如何完成该任务。这种对手头任务的关注让 Hop 开发人员比编写代码时更有效率。Hop 的目标是成为数据集成的未来,我们只需要对手头上的任务进行一次设计,然后通过 Apache Hop 在任何地方运行,比如 Hop 本地引擎、Spark、Flink、Google Dataflow 或 AWS EMR等。

Hop 被设计的尽可能灵活:其核心是小巧但功能强大的 Hop 引擎。所有的功能都是通过插件添加的:默认的 Hop 安装带有大约 400 个插件。我们可以根据需要删除或添加第三方插件,以定制 Hop,使其完全符合我们的需要。Hop 设计用于任何场景,从物联网到海量数据、本地、云端、裸操作系统或容器和 kubernetes。

Hop 的使用场景主要有以下几个方面:

利用云、集群和大规模并行处理环境,将大型数据集加载到数据库中;数据仓库构建并支持渐变维度 (SCD, Slowly Changing Dimensions)、变更数据捕获 (CDC,Change Data Capture) 和代理键创建;不同数据架构之间的集成,结合关系型数据库、文件、NoSQL 数据库(如 Neo4j、MongoDB、Cassandra等)不同数据库和应用程序之间的数据迁移;数据分析和数据清理。

Apache Hop 和 Kettle 联系和区别

Kettle 最早是一个开源的 ETL 工具,全称为 KDE Extraction, Transportation, Transformation and Loading Environment,作为一个端对端的数据集成平台,可以对多种数据源进行抽取(Extraction)、加载(Loading)、数据落湖(Data Lake Injection)、对数据进行各种清洗(Cleasing)、转换(Transformation)、混合(Blending)。支持无代码拖拽式构建数据管道、多种数据源以及和 Hadoop 深度集成。在国内外的很多行业有着广泛的使用。不过近几年 Kettle 的发展比较缓慢,为了改变现状,2019年基于 Kettle 的一个分支建立 Hop 项目。

由于 Apache Hop 是从 Kettle 发展过来的,所以两者之间在概念上基本上可以找到对应的名称,比如 Kettle 里面转换在 Hop 里面称为管道(Pipeline):

Apache 新晋顶级项目-数据集成平台Apache Hop

Apache Hop 和 Kettle 功能的对比如下所示:

从上表可以看到,Hop 相比于 Kettle 比较完善。比如 Hop 支持项目和生命周期配置、支持在项目和配置中搜索信息、通过 UI 和命令行进行配置管理。另外,Hop 和 Apache Beam 有比较深的集成,所以其支持可插拔的运行时引擎,比如可以将 Pipelines 通过 Apache Beam 发到 Apache Spark 、Apache Flink 、Dataflow 等引擎里面计算。

更多关于 Apache Hop 的介绍可以到其官方网站查看:https://hop.apache.org/


    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

Hi,我是王知无,一个大数据领域的原创作者。 

放心关注我,获取更多大数据领域的一手消息。