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

devtools/2025/1/12 17:21:46/

一、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(术语)KettleHop

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(配置)KettleHop

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、引擎

EngineKettleHop

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(特性)KettleHop

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

 


http://www.ppmy.cn/devtools/149927.html

相关文章

ffmpeg常用命令及介绍

FFmpeg 是一个非常强大的多媒体处理工具&#xff0c;可以用来进行视频和音频的转换、剪辑、合并、提取等多种操作。以下是一些常用的 FFmpeg 命令及其功能介绍&#xff1a; 1. 基本命令结构 FFmpeg 的基本命令结构如下&#xff1a; ffmpeg [全局选项] [输入文件选项] -i 输入…

北航:将LLM的注意力从MHA转为GQA

&#x1f4d6;标题&#xff1a;Align Attention Heads Before Merging Them: An Effective Way for Converting MHA to GQA &#x1f310;来源&#xff1a;arXiv, 2412.20677 &#x1f31f;摘要 &#x1f538;大型语言模型已被证明在各种自然语言处理问题上表现良好。然而&am…

Python中如何使用正则表达式进行字符串匹配和替换?

在Python中&#xff0c;正则表达式是一种强大的工具&#xff0c;用于处理字符串的搜索、替换和分割等操作。Python的re模块提供了丰富的函数来支持这些功能。下面将详细介绍如何使用正则表达式进行字符串匹配和替换&#xff0c;并给出具体的示例。 1. 导入re模块 首先&#x…

PyCharm文档管理

背景&#xff1a;使用PyCharmgit做文档管理 需求&#xff1a;需要PyCharm自动识别docx/xslx/vsdx等文件类型&#xff0c;并在PyCharm内点击文档时唤起系统内关联应用(如word、excel、visio) 设置步骤&#xff1a; 1、file -》 settings -》file types 2、在Files opened i…

Vulnhub-Red靶机笔记

Red靶机笔记 概述 这台靶机主要练习了文件包含漏洞的利用过程&#xff0c;以及hashcat利用规则生成字典来爆破ssh&#xff0c;利用进程监听修改root自执行程序来拿到root权限的shell 靶机地址&#xff1a;https://www.vulnhub.com/entry/red-1,753/ 一、nmap扫描 1、端口扫…

pip工具安装第三方库

使用pipcmd引入第三方库 pip 是 Python 包管理工具&#xff0c;提供了对 Python 包的查找、下载、安装、卸载的功能。 注意&#xff1a;pip 已内置于 Python 3.4 和 2.7 及以上版本&#xff0c;其他版本需另行安装 常规命令&#xff1a; pip install 安装第三方库的库名 &…

BaseCTF scxml 详解

视频教程在我主页简介和专栏里 目录&#xff1a; 环境搭建 jadx 反编译 本题环境搭建 题目分析 番外 环境搭建&#xff0c;给的附件中就一个 Main.java 和四个 jar 包&#xff0c;借由这道题简单讲讲一般 CTFJAVA 题目的环境搭建 环境搭建 jadx 反编译 之前前面看的几道题由…

PySpark学习笔记4-共享变量,内核调度

共享变量 解决方案一-广播变量 将本地列表标记成广播变量 可以实现降低内存占用和减少网络IO传输&#xff0c;提高性能 boradcast sc.boardcast(stu_info_list) value broadcast.value解决方案二-累加器 acmlt sc.accumulator(0)可以收集执行器的执行结果并作用在自己的身…