【问题标题】:Hive -e and regex replace udf issueHive -e 和正则表达式替换 udf 问题
【发布时间】:2016-02-18 00:07:12
【问题描述】:

我正在开发 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 选项。

您能帮我找出问题吗?

【问题讨论】:

    标签: regex hadoop hive udf mapr


    【解决方案1】:

    试试这个

    hive -e 'select regexp_replace("$60,825.48","\\$|\,","");'
    

    如果您的目标是删除除数字和“.”以外的所有内容,那么您也可以试试这个

    hive -e 'select regexp_replace("$60,825.48","[^0-9.]","");'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-07
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多