Apache Hop从入门到精通 第一课 揭开Apache Hop神秘面纱

一、Apache Hop是什么?

1、Apache Hop,简称Hop,全称为Hop Orchestration Platform,即Hop 工作编排平台,是一个数据编排和数据工程平台,旨在促进数据和元数据编排的所有方面。Hop让你专注于你想要解决的问题,而不会被技术所阻碍。简单任务应该容易完成,复杂任务需要可能实现。

2、Hop允许数据专业人员使用元数据来描述数据应该如何被处理,从而进行可视化工作。可视化设计使数据开发者能够专注于他们想要做什么,而不是如何完成这项任务。这种对当前任务的关注使得Hop开发者比编写代码时更加高效。

二、Apache Hop起源与背景

1、Hop 最初(2019年底)是作为 Kettle(Pentaho Data Integration,PDI)的一个分支而启动的。Hop 是一个相对较新的项目,于 2020 年成为 Apache 软件基金会的顶级项目。它由 Kettle 的原始创建者 Tyler Mitchell 领导,旨在解决 PDI 中的一些限制,并提供更现代化的架构。

2、Kettle (PDI): Kettle 最初由 Pentaho 开发,是一个功能齐全的数据集成工具。Pentaho 后来被 Hitachi Vantara 收购,尽管如此,PDI 仍然是一个活跃的开源项目,拥有庞大的用户社区和丰富的插件生态系统。(不熟悉kettle的小伙伴可以查看kettle系列文章)

3、Hop和Kettle/PDI是独立的项目,各自有自己的路线图和优先级。鉴于这些不同的路线图、架构愿景和开发轨迹,Hop和Kettle/PDI是不兼容的。由于Hop与Kettle/PDI有着共同的历史,Hop社区提供了一种方法,尽可能无缝地将现有的PDI/Kettle项目导入Hop。

三、HOP VS KETTLE

1、核心概念

Terminology(术语) Kettle Hop
Parallel scalable data pipeline(并行可扩展数据管道) Transformation Pipeline
An operation in a parallel pipeline(并行管道中的一个操作) Step Transform
Sequential series of actions(一系列顺序的操作) Job Workflow
An action in a workflow(工作流中的一个操作) Job Entry Action
Shared metadata container(共享的元数据容器) Metastore Hop Metadata
The graphical user interface(图形用户界面) Spoon Hop Gui
Script to run data pipelines(运行数据管道的脚本) Pan Hop Run
Script to run workflows(运行工作流的脚本) Kitchen Hop Run
Server for remote execution(远程执行服务器) Carte Hop Server
Script for configuration(配置脚本) - Hop Config

2、配置

Configuration(配置) Kettle Hop
System variables(系统变量) ${KETTLE_HOME}/.kettle/kettle.properties ${HOP_CONFIG_FOLDER}/hop-config.json or ./config/hop-config.json
GUI preferences (fonts, colors, preferences...) 图形用户界面偏好设置(字体、颜色、偏好...) ${KETTLE_HOME}/.kettle/kettle.properties ${HOP_CONFIG_FOLDER}/hop-config.json or ./config/hop-config.json
Language choice(语言选择) ${KETTLE_HOME}/.kettle/.languageChoice ${HOP_CONFIG_FOLDER}/hop-config.json or ./config/hop-config.json
Shared objects(共享对象) ${KETTLE_HOME}/.kettle/shared.xml All stored in Hop shared metadata
GUI usage information(图形用户界面使用信息) ${KETTLE_HOME}/.kettle/kettle.properties ${HOP_AUDIT_FOLDER}/<project>/
Shared metadata(共享元数据) {PENTAHO_METASTORE_FOLDER} or {HOME}/.pentaho/metastore {HOP_METADATA_FOLDER} or {HOP_CONFIG_FOLDER}/metadata
Environment/Project configurations(环境/项目配置) ${KETTLE_HOME}/.kettle/environment/metastore ${HOP_CONFIG_FOLDER}/hop-config.json or ./config/hop-config.json

3、引擎

Engine Kettle Hop
Unit Testing Plugin Yes
Apache Spark Support No (PDI EE only) Yes (Beam)
Apache Flink Support No Yes (Beam)
Google Cloud DataFlow Support No Yes (Beam)

4、特性

Feature(特性) Kettle Hop
Projects and Lifecycle Configuration(项目与生命周期配置) No Yes
Search Information in projects and configurations (在项目和配置中搜索信息) No Yes
Configuration management through UI and command line (通过界面和命令行进行配置管理) No Yes
Standardized shared metadata(标准化共享元数据) No Yes
Pluggable runtime engines(可插拔的运行时引擎) No Yes
Advanced GUI features: memory, native zooom, ...​ 高级 GUI 功能:内存、原生缩放...... No Yes
Metadata Injection(元数据注入) Yes Yes (most transforms)
Mapping (sub-transformation/pipeline(映射(子转换/管道) Yes Yes(simplified)
Web Interface WebSpoon HopWeb
APL 2.0 license compliance(APL 2.0 许可合规性) LGPL doubts regarding pentaho-metastore library Yes
Pluggable metadata objects(可插拔的元数据对象) No Yes
GUI plugin architecture(GUI 插件架构) XUL based (XML) Java annotations
相关推荐
晴天彩虹雨18 小时前
统一调度与编排:构建自动化数据驱动平台
大数据·运维·数据仓库·自动化·big data·etl
linmoo19868 天前
Spring AI 系列之十四 - RAG-ETL之一
人工智能·spring·etl·rag·springai·documentreader
淦暴尼8 天前
认识ETL流程:数据工程的基石
数据仓库·etl·原型模式
linmoo19868 天前
Spring AI 系列之十五 - RAG-ETL之二
人工智能·spring·etl·transformers·rag·springai
Leo.yuan10 天前
ETL还是ELT,大数据处理怎么选更靠谱?
大数据·数据库·数据仓库·信息可视化·etl
zhangjin122211 天前
kettle从入门到精通 第九十七课 ETL之kettle kettle资源仓库的5种方式
数据仓库·etl·kettle插件·kettle资源仓库
Leo.yuan15 天前
数据清洗(ETL/ELT)原理与工具选择指南:企业数字化转型的核心引擎
大数据·数据仓库·数据挖掘·数据分析·etl
面朝大海,春不暖,花不开20 天前
使用 Python 实现 ETL 流程:从文本文件提取到数据处理的全面指南
python·etl·原型模式
陈敬雷-充电了么-CEO兼CTO22 天前
推荐算法系统系列>推荐数据仓库集市的ETL数据处理
大数据·数据库·数据仓库·数据挖掘·数据分析·etl·推荐算法
.不吃糖.1 个月前
MySQL 与 Oracle 分区表详解:相同点与不同点
数据库·mysql·oracle·etl·分区表