问题标签 [pentaho-data-integration]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
pentaho - Kettle 产生的奇怪错误
- 它只是在 Kettle 5.4 中开发的最简单的 tran。
- tran 从 MSSQL 中提取数据并插入到另一个 MSSQL 中,无需任何其他操作。
- 我启用了“对插入使用批量更新”复选框。
- 通常它会成功运行并显示任何错误消息。
- 此错误偶尔会发生,并且无法通过重新运行 tran 来重现。
这是错误日志:
regex - Pentaho 正则表达式评估
我尽力在 PDI 中的文件内容上使用正则表达式,但它在输出中给了我空值。正则表达式在正则表达式评估步骤的测试正则表达式部分中完美运行,但它没有在预览中向我显示相同的输出。
这是文件内容:
我期待输出中的 1:19:18.637s,但它是null
.
这是示例代码。它不适用于您的本地机器,但它肯定会让您了解我想要实现的目标。这是我正在尝试的代码:
任何建议将不胜感激。谢谢
hadoop - Pentaho DI 中的 Hive 连接错误
当我尝试在 pentaho di 的 hive localhost 上进行测试连接时,出现以下错误。
连接到数据库 [HiveConn] 时出错:org.pentaho.di.core.exception.KettleDatabaseException:> 尝试连接到数据库时发生错误
连接到数据库时出错:(使用类 org.apache.hadoop.hive.jdbc.HiveDriver)加载程序约束违规:加载程序 >(java/net/URLClassLoader 的实例)先前为名为“org/apache/thrift”的不同类型启动了加载/协议/TProtocol"
org.pentaho.di.core.exception.KettleDatabaseException:尝试连接数据库时出错
请让我知道可能是什么原因。
pentaho - “使用 DB 获取序列”步骤在 pentaho 的 ADD SEQUENCE 中不起作用
“使用 DB 获取序列”步骤在 Pentaho 的 ADD SEQUENCE 中不起作用。即使连接和模式正确且序列可用,显示没有序列的“序列名称”也是可用的。有没有其他方法可以获取“ID”列的最大值并将最大值+1 的变量设置为添加序列的起始值。
pentaho - Pentaho:-CSV文件输入
我对 Pentaho DI 很陌生。我的要求:- 在我的 CSV 文件输入步骤中,我不想从浏览器中选择文件。我想通过变量或动态方式传递它。
说吧。我在“下载”文件夹中有文件,并且每天的文件名都会更改。因此,在 CSV 文件输入步骤中,如果我传递变量并在此变量中设置“下载”文件夹的文件名,那么每次我都不必手动浏览文件。
我将如何实现这一目标?
performance - 数据类型和索引
使用 TEXT 数据类型时,插入、更新或删除数据是否存在某种性能差异?
我去这里发现了这个:
提示:这三种类型之间没有性能差异,除了在使用空白填充类型时增加了存储空间,以及在存储到长度受限的列时需要一些额外的 CPU 周期来检查长度。虽然 character(n) 在其他一些数据库系统中具有性能优势,但在 PostgreSQL 中没有这样的优势;事实上 character(n) 通常是三个中最慢的,因为它有额外的存储成本。在大多数情况下,应改为使用文本或字符变化。
这让我相信不应该存在性能差异,但我的朋友比我更有经验,他说 TEXT 数据类型的插入、更新和删除速度较慢。
我有一个用触发器和函数分区的表,并且索引非常多,但是插入并没有那么慢。
现在我有另一个表,还有 5 列都是文本数据类型,完全相同的触发器和函数,没有索引,但是插入非常慢。
根据我的经验,我认为他是正确的,但你们怎么看?
编辑#1:我正在上传相同的确切数据,只是第二个版本有 5 列。
编辑#2:“慢”是指在第一种情况下,我能够每秒插入 500 行或更多行,但现在我每秒只能插入 20 行。
编辑#3:我没有像第一种情况那样将索引添加到第二种情况,因为据我了解,索引应该会减慢插入、更新和删除的速度。
编辑#4:我保证它是完全相同的数据,因为我是上传它的人。唯一的区别是,第二个场景有 5 个额外的列,都是文本数据类型。
编辑#5:即使我删除了方案 2 中的所有索引并将所有索引都保留在方案 1 中,在方案 2 中插入仍然较慢。
编辑#6:两种场景都有相同的触发器和功能。
编辑#7:我正在使用 ETL 工具 Pentaho 来插入数据,因此我无法向您展示用于插入数据的代码。
我想我可能在 ETL 工具中有太多的转换步骤。当我尝试在与实际转换数据的步骤相同的转换中插入数据时,速度非常慢,但是当我只是将已经转换的数据插入到一个空表中,然后将该表中的数据插入到实际表中时,我'在使用时,插入速度比方案 1 快得多,每秒 4000 行。
方案1和方案2的唯一区别,除了方案2中列的增加外,就是ETL转换的步骤数。方案2的ETL转换步骤大约有20个或更多。在某些情况下,还有 50 多个。
我想我可以通过减少转换步骤的数量来解决我的问题,或者将转换后的数据放入一个空表中,然后将该表中的数据插入到我正在使用的实际表中。
etl - 如何在 Pentaho Kettle 中处理 1 到多个 SQL(表输入)
我有一种情况,我有下表。
员工- emp_id、emp_name、emp_address
Employee_assets - emp_id(FK)、asset_id、asset_name(1-many for employee)
Employee_family_members - emp_id(FK), fm_name, fm_relationship ( 1-many for employee)
现在,我必须运行一个预定的kettle 作业,它从这些表中读取数据,比如说1000 名员工的批次,并根据数据库中与家庭成员和资产的关系为这1000 条记录创建一个XML 输出。它将是每个员工的嵌套 XML 记录。
请注意,这个水壶作业的性能在我的场景中非常关键。
我在这里有两个问题-
- 从数据库中为模式中的一对多关系提取记录的最佳方法是什么?
- 鉴于 XML 连接步骤会影响性能,生成 XML 输出结构的最佳方法是什么?
pentaho - Pentaho 邮件:- 不想在邮件正文中显示附件数据。只想显示静态消息
下午好,
我正在使用 Pentaho DI 的 Mail 步骤。我能够接收带有附件文件的邮件。但我可以看到那些附件文件的数据和信息。在我不想要的邮件正文中。
谁能建议我如何不在电子邮件的正文部分包含附件内容。
问候, 尼莱什
performance - Pentaho ETL 性能问题
我有一个 Pentaho ETL 作业/转换,它读取一个文本文件并将一些记录插入到 MS SQL 数据库表中。我每天执行它。最多需要 10 分钟才能完成。当其他人执行它时会出现问题:时间增加到 40 分钟。所有的执行都发生在同一台机器上,具有相同的 JRE 版本。日志没有显示任何异常,只是步骤之间的时间间隔更长。
系统信息:
- Windows 8 企业版 64 位
- JRE 1.7_79 32 位
- Pentaho 5.3.0
- 微软 SQL 2000 (8.0)
调用命令:
我的日志:
我的同事日志:
pentaho - Pentaho:表格输出需要更多时间来插入记录
我们想将表数据从一个数据库复制到另一个数据库。该表有 3M 条记录。我使用了表输出步骤。我已经设置了所有必需的参数。但仍然需要很长时间。
提交大小为 500。我也尝试将其增加到 10000。
有没有办法调整这个?或者我可以使用的任何其他步骤?因为在 SQLyog 工具中,将表的数据从一个数据库复制到另一个数据库并不需要太多时间。几乎不需要一分钟。