我正在使用MapR发行版中的Hive 0.13。当我使用hive -e选项在hive中运行以下查询时,我发现了一个奇怪的问题。
以下是我的询问:
select regexp_replace('$60,825.48','\\$|\,','');
当我直接从hive shell运行并且希望输出为 60825.48 时,上述查询正常工作。
现在,当我使用hive -e 运行相同的时,如下所示:
hive -e "select regexp_replace('$60,825.48','\\$|\,','');"
Total MapReduce CPU Time Spent: 890 msec
OK
0825.48
Time taken: 7.813 seconds, Fetched: 1 row(s)
" 6" 会从所需的输出中删除。
此外,同样适用于Hive -f选项。
你能帮我解决一下这个问题吗?
答案 0 :(得分:0)
试试这个
hive -e 'select regexp_replace("$60,825.48","\\$|\,","");'
如果您的目标是删除除数字和“。”之外的所有内容,那么您也可以尝试使用
hive -e 'select regexp_replace("$60,825.48","[^0-9.]","");'