Unit testing 如何测试配置单元UDF的正确输入?

Unit testing 如何测试配置单元UDF的正确输入?,unit-testing,hive,Unit Testing,Hive,如何验证进入配置单元UDF的正则表达式在不运行一系列配置单元查询的情况下是否正常工作 比如 Select * from myTable Where regexp_extract(col, "([0-9]{4})"); 我如何知道正则表达式“([0-9]{4})”将返回预期结果?在Java中,内置UDF可以直接调用 public void testHiveUDF() { String patternStr = "([0-9]{4})"; System.out.println((n

如何验证进入配置单元UDF的正则表达式在不运行一系列配置单元查询的情况下是否正常工作

比如

Select * from myTable Where regexp_extract(col, "([0-9]{4})");

我如何知道正则表达式“([0-9]{4})”将返回预期结果?

在Java中,内置UDF可以直接调用

public void testHiveUDF() {
    String patternStr = "([0-9]{4})";
    System.out.println((new UDFRegExpExtract()).evaluate("stuff1234", patternStr));
}
因此,一系列正则表达式模式可以被快速测试,并确信它们将如预期的那样在蜂箱中工作

此测试可以扩展到其他内置配置单元UDF。从中选择您最喜欢的,以测试输入