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

时间:2016-04-20 06:26:06

标签: pentaho checksum

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

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

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

谢谢

3 个答案:

答案 0 :(得分:1)

您可以通过“修改的JavaScript值”步骤使用Java函数(“filename”是包含文件路径的列)

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();

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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

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

由于