Ich habe eine Hive-Abfrage, die die Summe einer Spalte in exponentieller Form (3.52504582E+8)
generiert. In SQL erhalte ich einen numerischen Wert aus einer RDBMS-Tabelle. Beide Ausgaben schreibe ich in Dateien und vergleiche die Diff der beiden Dateien in UNIX für die Validierungsprüfung.Hive- oder UNIX-Ausgabe in Exponential E
Gibt es eine Möglichkeit, 3.52504582E+8
in 352504582
entweder in Hive oder auf UNIX-Ebene zu konvertieren, so dass die Validierung erfolgreich ist?
Hive Tabelle Summe: 3.52504582E+8
RDBMS Tabelle Summe: 352504582
diff <file1> <file2>
Validierung fehlgeschlagen.
aber '352504582E8' nicht gleich' 352504582' bei allen – RomanPerekhrest
Dies ist, was Hive wird in die Textdatei zu schreiben. Gibt es eine Möglichkeit, dies auf UNIX-Ebene zu tun? 352504582E8 bis 352504582 – Dudul
Hive unterstützt "printf()" seit V0.9, so dass Sie Ihre Summe direkt in einen String mit dem gewünschten Format konvertieren können. https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF –