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(术语)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.mzph.cn/diannao/66776.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

嵌入式C语言:什么是指针?

目录 一、指针的基本概念 1.1. 定义指针 1.2. 赋值给指针 1.3. 解引用指针 1.4. 指针运算 1.5. 空指针 1.6. 函数参数 1.7. 数组和指针 1.8. 示例代码 二、指针在内存中的表示 2.1. 内存地址存储 2.2. 内存模型 2.3. 指针与硬件交互 2.4. 示例代码 三 、指针的重…

带格式 pdf 翻译

支持 openAI 接口&#xff0c;国内 deepseek 接口兼容 openAI 接口&#xff0c; deepseek api 又非常便宜 https://pdf2zh.com/ https://github.com/Byaidu/PDFMathTranslate

【redis初阶】初识Redis

目录 一、初识Redis 二、盛赞 Redis 三、Redis 特性 3.1 速度快 ​编辑3.2 基于键值对的数据结构服务器 3.3 丰富的功能 3.4 简单稳定 &#x1f436; 3.6 持久化&#xff08;Persistence&#xff09; 3.7 主从复制&#xff08;Replication&#xff09; 3.8 高可用&#xff08;H…

虚拟机Linux Red Hat 7.9 Docker部署.Net 7 Zr.Admin项目(后端)

0、环境信息 应用部署在虚拟机里的docker&#xff0c;里面的应用访问宿主主机的MySQL 1、开启MySQL远程访问 使用非安装版MySQL参考Windows 使用 非安装版MySQL 8 为了避免出现 Host is not allowed to connect to this MySQL server 使用root用户登录 cmd进入到MySQL的bi…

UE小白学习日记

Level UE中的Level(关卡)和Unity中的Scene(场景)在概念和用途上非常相似,都是用来组织和管理3D环境的基本单位。让我为您详细对比一下: 相似之处: 它们都是游戏世界的容器,可以包含游戏对象、光照、地形等元素都支持场景/关卡的切换和加载都可以用来划分游戏内容,比如不同关…

cmake - build MS STL project

文章目录 cmake - build MS STL project概述笔记END cmake - build MS STL project 概述 MS在github上开源了VS IDE 用的STL实现。 想看看微软的测试用例中怎么用STL. 想先用CMake编译一个MS STL发布版出来。 笔记 CMake需要3.30以上, 拟采用 cmake-3.30.6-windows-x86_64.…

微信小程序之历史上的今天

微信小程序之历史上的今天 需求描述 今天我们再来做一个小程序&#xff0c;主要是搜索历史上的今天发生了哪些大事&#xff0c;结果如下 当天的历史事件或者根据事件选择的历史事件的列表&#xff1a; 点击某个详细的历史事件以后看到详细信息&#xff1a; API申请和小程序…

错误修改系列---基于RNN模型的心脏病预测(pytorch实现)

前言 前几天发布了pytorch实现&#xff0c;TensorFlow实现为&#xff1a;基于RNN模型的心脏病预测(tensorflow实现)&#xff0c;但是一处繁琐地方 一处错误&#xff0c;这篇文章进行修改&#xff0c;修改效果还是好了不少&#xff1b;源文章为&#xff1a;基于RNN模型的心脏病…

vue.js+vite搭建一个简单的新春祈福活动网站

vue.jsvite搭建一个简单的新春祈福活动网站&#xff01;使用canvas技术&#xff0c;绘制视觉特效。 功能有&#xff1a;燃放烟花&#xff0c;和撞钟祈福。祈福撞钟我设计了是按钮事件&#xff0c;播放一个mp4动画&#xff0c;配上播放一段撞钟的生效文件mp3. <template>&…

有机物谱图信息的速查技巧有哪些?

谱图信息是化学家解读分子世界的“语言”&#xff0c;它们在化学研究的各个领域都发挥着不可或缺的作用。它们是理解和确定分子结构的关键&#xff0c;对化学家来说极为重要&#xff0c;每一种谱学技术都提供了不同的视角来观察分子&#xff0c;从而揭示其独特的化学和物理特性…

视频转码对画质有影响吗?视频融合平台EasyCVR支持哪些转码格式?

视频转码过程是将视频文件从一种编码格式转换为另一种格式的过程&#xff0c;这一过程在现代数字媒体中扮演着至关重要的角色。众所周知&#xff0c;视频转码不仅仅是简单的格式转换&#xff0c;它涉及多个关键参数的改变&#xff0c;例如视频编码格式、比特率、分辨率以及帧率…

微信小程序防止重复点击事件

直接写在app.wpy里面&#xff0c;全局可以调用 // 防止重复点击事件preventActive(fn) {const self this;if (this.globalData.PageActive) {this.globalData.PageActive false;if (fn) fn();setTimeout(() > {self.globalData.PageActive true;}, 3000); //设置该时间内…

STM32-WWDG/IWDG看门狗

WWDG/IWDG一旦开启不能关闭&#xff0c;可通过选项字节在上电时启动硬件看门狗&#xff0c;看门狗计数只能写入不能读取。看门狗启用时&#xff0c;T6bit必须置1&#xff0c;防止立即重置。 一、原理 独立看门狗-超时复位 窗口看门狗-喂狗&#xff08;重置计数器&#xff0c;…

C++初阶—CC++内存管理

第一章&#xff1a;C/C内存分布 int globalVar 1; static int staticGlobalVar 1; void Test() {static int staticVar 1;int localVar 1;int num1[10] { 1, 2, 3, 4 };char char2[] "abcd";const char* pChar3 "abcd";int* ptr1 (int*)malloc(si…

排序的本质、数据类型及算法选择

排序的本质、数据类型及算法选择 一、排序的本质二、排序的数据类型三、排序算法的选择依据 前两天老金写了篇 “十大排序简介”&#xff0c;有点意犹未尽&#xff0c;这一回老金想把排序连根拔起&#xff0c;从排序的本质说道说道。 一、排序的本质 从字面上理解&#xff0c…

arcgisPro加载天地图(CGCS2000)影像

1、注册天地图账号&#xff1b; 2、申请key&#xff1b; 3、添加WMTS服务器。 这里已经办好了前两步&#xff0c;下面详细介绍最后一步。 添加WMTS服务器。 在天地图网站&#xff0c;找到如下页面&#xff0c; 复制网址&#xff0c;如&#xff1a;http://t0.tianditu.gov.cn…

【测试】持续集成CI/CD

近期更新完毕&#xff0c;建议关注收藏点赞&#xff5e; 目录 概括gitJenkinspostman集成jenkins代码集成jenkins 概括 CI/CD stands for Continuous Integration and Continuous Deployment 定义 团队成果持续集成到公共平台。一天可以集成1次or多次 本地代码管理 git 远程代…

python基础和redis

1. Map函数 2. filter函数 numbers generate_numbers() filtered_numbers filter(lambda x: x % 2 0, numbers) for _ in range(5):print(next(filtered_numbers)) # 输出: 0 2 4 6 83. filter map 和 reduce 4. picking and unpicking 5. python 没有函数的重载&#xff0…

【再谈设计模式】模板方法模式 - 算法骨架的构建者

一、引言 在软件工程、软件开发过程中&#xff0c;我们经常会遇到一些算法或者业务逻辑具有固定的流程步骤&#xff0c;但其中个别步骤的实现可能会因具体情况而有所不同的情况。模板方法设计模式&#xff08;Template Method Design Pattern&#xff09;就为解决这类问题提供了…

安卓app抓包总结(精)

前言 这里简单记录一下相关抓包工具证书的安装 burp证书安装 安装证书到移动设备(安卓7以后必须上传到设备系统根证书上) 导出证书 openssl x509 -inform DER -in cacert.der -out cacert.pem 转换格式 openssl x509 -inform PEM -subject_hash_old -in cacert.pem …