2016-04-20 6 views
1

Wie können wir die Prüfsumme für "gesamte" Dateidaten in Pentaho berechnen?Wie berechnet man die Prüfsumme der gesamten Datei in Pentaho?

Ich weiß, wir können Prüfsumme mit "Hinzufügen einer Prüfsumme" -Funktion (Aber es gibt Prüfsumme Wert "pro Zeile" für meine CSV-Dateieingabe) und "Rechner" -Funktion (Aber es gibt Null oder Null Wert als Prüfsumme " pro Zeile "für meine CSV-Dateieingabe) ...

Stattdessen Ich möchte Prüfsumme für die gesamten Dateidaten und nicht pro einzelne Zeile. Wie können wir das erreichen?

Danke

Antwort

0

Schließlich konnte ich Prüfsumme der gesamten Datei berechnen.

Ich verwendete "User Defined Class" Schritt und java.security.MessageDigest Klasse in Java zu berechnen und zurückgeben Prüfsumme einer Datei gelesen mit FileInputStream.

Dank

1

können Sie Java-Funktionen nutzen über die „Modified JavaScript Value“ Schritt wie dieser („Dateiname“ ist eine Spalte mit Pfad zur Datei)

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

Alternativ laden die gesamte Datei in einer einzelnen Zeile unter Verwendung von 'Dateidaten in Arbeitsspeicher laden', wenden Sie eine Prüfsumme darauf an, dann führen Sie eine kartesische oder eine Stream-Suche basierend auf Dateiname mit Ihrem regulären Datenfluss durch.