我们如何计算Pentaho中“整个”文件数据的校验和?
我知道我们可以使用“添加校验和”函数来计算校验和(但是它为我的CSV文件输入返回“每行”校验和值)和“计算器”函数(但它返回null或零值作为校验和“per行“为我的CSV文件输入...”
相反我想要整个文件数据的校验和,而不是每行。我们怎样才能做到这一点?
谢谢
答案 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
读取的文件的校验和。
由于