如何计算Pentaho中整个文件的校验和?

如何计算Pentaho中整个文件的校验和?,pentaho,checksum,Pentaho,Checksum,我们如何计算Pentaho中“整个”文件数据的校验和 我知道我们可以使用“添加校验和”函数(但它会为我的CSV文件输入返回“每行”校验和值)和“计算器”函数(但它会为我的CSV文件输入返回空值或零值作为“每行”校验和值)计算校验和 相反,我想要整个文件数据的校验和,而不是每行的校验和。我们如何才能做到这一点 谢谢您您可以通过如下“修改JavaScript值”步骤使用Java函数(“文件名”是一列,带有文件路径) 或者,使用“加载内存中的文件数据”在一行中加载整个文件,对其应用校验和,然后使用常规

我们如何计算Pentaho中“整个”文件数据的校验和

我知道我们可以使用“添加校验和”函数(但它会为我的CSV文件输入返回“每行”校验和值)和“计算器”函数(但它会为我的CSV文件输入返回空值或零值作为“每行”校验和值)计算校验和

相反,我想要整个文件数据的校验和,而不是每行的校验和。我们如何才能做到这一点


谢谢您

您可以通过如下“修改JavaScript值”步骤使用Java函数(“文件名”是一列,带有文件路径)


或者,使用“加载内存中的文件数据”在一行中加载整个文件,对其应用校验和,然后使用常规数据流根据文件名执行笛卡尔或流查找。

最后,我能够计算整个文件的校验和

我使用java中的“
User Defined Class
”步骤和
java.security.MessageDigest
类来计算并返回使用
FileInputStream
读取的文件的校验和

谢谢

var md5_hash = '';
file = new Packages.java.io.File(filename);  
fileInputStream = new Packages.java.io.FileInputStream(file);
md5_hash = Packages.org.apache.commons.codec.digest.DigestUtils.md5Hex(fileInputStream);
fileInputStream.close();