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

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/951716.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

会员制营销与门店业绩提升:以开源AI智能名片S2B2C商城小程序为例的深度剖析

摘要&#xff1a;在数字化时代&#xff0c;会员制营销已成为企业提升门店业绩、增强客户黏性的重要策略。然而&#xff0c;仅仅将会员制营销视为提升业绩的手段&#xff0c;显然过于笼统&#xff0c;缺乏精准性。本文基于“业绩客量客单回头次数”的公式&#xff0c;深入探讨了…

Idea-离线安装SonarLint插件地址

地址&#xff1a; SonarQube for IDE - IntelliJ IDEs Plugin | Marketplace 选择Install Plugin from Disk..&#xff0c;选中下载好的插件&#xff0c;然后重启idea

高斯函数Gaussian绘制matlab

高斯 约翰卡尔弗里德里希高斯&#xff0c;&#xff08;德语&#xff1a;Johann Carl Friedrich Gau&#xff0c;英语&#xff1a;Gauss&#xff0c;拉丁语&#xff1a;Carolus Fridericus Gauss&#xff09;1777年4月30日–1855年2月23日&#xff0c;德国著名数学家、物理学家…

vscode支持ssh远程开发

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、生成ssh使用的公钥/密钥对二、使用vscode通过ssh连接服务器1.安装插件2.配置文件3.连接服务器4.新建文件夹&#xff0c;存放不同的任务 三、使用scp命令与服务器…

微信原生小程序自定义封装组件(以导航navbar为例)

封装 topnav.js const App getApp(); Component({// 组件的属性列表properties: {pageName: String, //中间的titleshowNav: { //判断是否显示左上角的按钮 type: Boolean,value: true},showHome: { //判断是否显示左上角的home按钮type: Boolean,value: true},showLocat…

生物医学信号处理--常见的随机过程及联合特征

典型随机过程 &#xff08;&#xff11;&#xff09;白噪声过程 &#xff11;&#xff09;理想白噪声 &#xff12;&#xff09;限带白噪声 &#xff08;2&#xff09;高斯过程 &#xff08;3&#xff09;高斯-马尔科夫过程 理想白噪声 若N(t)为一个具有零均值的平稳随机过程…

安卓硬件加速hwui

安卓硬件加速 本文基于安卓11。 从 Android 3.0 (API 级别 11) 开始&#xff0c;Android 2D 渲染管道支持硬件加速&#xff0c;这意味着在 View 的画布上执行的所有绘图操作都使用 GPU。由于启用硬件加速所需的资源增加&#xff0c;你的应用程序将消耗更多内存。 软件绘制&am…

SAP SD学习笔记27 - 贩卖契约(框架协议)2 - 基本契约 - 金额契约(价值合同)

上一章讲了贩卖契约&#xff08;框架协议&#xff09;的概要&#xff0c;以及贩卖契约中最为常用的 基本契约 - 数量契约。 SAP SD学习笔记26 - 贩卖契约(框架协议)的概要&#xff0c;基本契约 - 数量契约-CSDN博客 本章继续讲SAP中的内容&#xff1a; - 基本契约 - 金额契约…

Unity Burst详解

【简介】 Burst是Unity的编译优化技术&#xff0c;优化了从C#代码编译成Native代码的过程&#xff0c;经过编译优化后代码有更高的运行效率。 在Unity中使用Burst很简单&#xff0c;在方法或类前加上[BurstCompile]特性即可。在构建时编译代码的步骤&#xff0c;Burst编译器会…

Linux文件系统的安全保障---Overlayroot!

overlayroot 是一种使用 OverlayFS 实现的功能&#xff0c;可将根文件系统挂载为只读&#xff0c;并通过一个临时的写层实现对文件系统的修改。这种方法非常适合嵌入式设备或需要保持系统文件完整性和安全性的场景。下文以 RK3568 平台为例&#xff0c;介绍制作 overlayroot 的…

Http请求响应——请求

Http概述 Http协议&#xff08;HyperText Transfer Protocol&#xff0c;超文本传输协议&#xff09;&#xff0c;是一种用于传输网页数据的协议&#xff0c;规定了浏览器和服务器之间进行数据传输的规则&#xff0c;简单说来就是客户端与服务器端数据交互的数据格式。 客户端…

2025域名出售交易平台PHP源码

源码介绍 2025域名出售交易平台PHP源码,搭建即可正常使用&#xff0c;后台功能测试正常&#xff0c;前台测试正常,无需到处找教程或修复&#xff0c;教程一次性到位 搭建教程 PHP必须是5.6的 导入数据库 数据库配置文件 config/config.php 后台 http://域名/ymadmin 用户&am…

Microsoft Azure Cosmos DB:全球分布式、多模型数据库服务

目录 前言1. Azure Cosmos DB 简介1.1 什么是 Azure Cosmos DB&#xff1f;1.2 核心技术特点 2. 数据模型与 API 支持2.1 文档存储&#xff08;Document Store&#xff09;2.2 图数据库&#xff08;Graph DBMS&#xff09;2.3 键值存储&#xff08;Key-Value Store&#xff09;…

后端技术选型 sa-token校验学习 上 登录校验复习

sa-token 的官网 Sa-Token 复习 首先我们要明确一下 cookie 是什么 登录校验 Sa-Token 官方文档里面的 对于一些登录之后才能访问的接口&#xff08;例如&#xff1a;查询我的账号资料&#xff09;&#xff0c;我们通常的做法是增加一层接口校验&#xff1a; 如果校验通过…

【教程】Unity 本地化多语种 | Localization 工具组

开发平台&#xff1a;Unity 6.0 编程平台&#xff1a;Visual Studio 2022 编程语言&#xff1a;CSharp 6.0 工具包类&#xff1a;Localization   一、前言 本地化多语言类型是软件面向国际化所必须的功能项。Unity 在 2022 版本后推出 Localization 工具包&#xff0c;以降低…

matlab编写分段Hermite插值多项式

文章目录 原理使用分段Hermite插值多项式原因公式第一类的两个插值积函数第二类的两个插值积函数 例题法一法二 代码分段 Hermite 插值的思路&#xff1a;分段 Hermite 插值多项式的构造&#xff1a;MATLAB 实现代码&#xff1a;结果如图&#xff1a;注归一化变量的作用&#x…

Elasticsearch:优化的标量量化 - 更好的二进制量化

作者&#xff1a;来自 Elastic Benjamin Trent 在这里&#xff0c;我们解释了 Elasticsearch 中的优化标量量化以及如何使用它来改进更好的二进制量化 (Better Binary Quantization - BBQ)。 我们的全新改进版二进制量化 (Better Binary Quantization - BBQ) 索引现在变得更强大…

【数据库】六、数据库设计

文章目录 六、数据库设计1 数据库设计步骤1.1 规划阶段1.2 需求分析1.3 概念设计阶段(重点)1.4 逻辑设计阶段(重点)1.5 物理设计阶段1.6 数据库的实现1.7 数据库运行与维护 2 概念模型设计2.1 ER模型2.1.1 ER模型的基本元素2.1.2 联系的设计2.1.3 采用ER模型的概念设计2.1.4 ER…

onLoad 生命周期函数是否执行取决于跳转的方式和小程序的页面栈管理机制

文章目录 1. 页面跳转方式2. 你的场景分析3. 页面生命周期4. 总结5. 建议 在微信小程序中&#xff0c;页面跳转时&#xff0c; onLoad 生命周期函数是否执行取决于跳转的方式和小程序的页面栈管理机制。以下是详细说明&#xff1a; 1. 页面跳转方式 微信小程序提供了多种页面…

51c~Pytorch~合集4

我自己的原文哦~ https://blog.51cto.com/whaosoft/12311033 一、Pytorch~训练-使用 这里介绍了Pytorch中已经训练好的模型如何使用 Pytorch中提供了很多已经在ImageNet数据集上训练好的模型了&#xff0c;可以直接被加载到模型中进行预测任务。预训练模型存放在Pytorch的…