gpt4 book ai didi

sql - hive 简单的正则表达式

转载 作者:行者123 更新时间:2023-12-02 20:34:51 26 4
gpt4 key购买 nike

我正在尝试检查列中的所有数据是否都具有有效日期。

create table dates (tm string, dt string) row format delimited fields terminated by '\t'

date.txt(sample data)
20181205 15
20171023 23
20170516 16

load data local inpath 'dates.txt' overwrite into table dates;

create temporary macro isitDate(s string)
case when regexp_extract(s,'((0[1-9]|[12][0-9]|3[01])',0) = ''
then false
else true
end;

select * from dates where isitDate(dt);

但是select语句给出以下错误-

Failed with exception java.io.IOException:org.apache.hadoop.hive.ql.metadata.HiveException: Unable to execute method public java.lang.String org.apache.hadoop.hive.ql.udf.UDFRegExpExtract.evaluate(java.lang.String,java.lang.String,java.lang.Integer) on object org.apache.hadoop.hive.ql.udf.UDFRegExpExtract@66b45e1e of class org.apache.hadoop.hive.ql.udf.UDFRegExpExtract with arguments {15:java.lang.String, ((0[1-9]|[12][0-9]|3[01]):java.lang.String, 0:java.lang.Integer} of size 3



我的正则表达式有问题吗?

最佳答案

犯了一个愚蠢的错误,宏中有一个额外的开括号

关于sql - hive 简单的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51608423/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com