我正在尝试将csv导入Hive。我有一个美元值的列,并在CSV中报告为“$ 123,244.00”。我想将此值转换为Hive中的float。
所以我将csv加载到临时表中,将该列视为字符串。接下来我想将它加载到最终表中,并在此过程中将该字符串转换为float或decimal。
有关最佳方法的任何建议吗?
答案 0 :(得分:1)
这应该有效:
select float(regexp_replace(substr('$123,244.00', 2, length('$123,244.00')), ',', '')) from table;
您需要删除任何逗号以及美元符号。您可能会发现此链接也很有用:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Types#LanguageManualTypes-NumericTypes