gpt4 book ai didi

regex - 正则表达式在 pig 的每个循环中

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

我目前正在使用UDF来获取输出,但是正则表达式将执行相同的操作,并且可能更快!

我在Pig中运行代码时遇到问题,这是我要运行的代码行。

data = FOREACH f GENERATE FLATTEN(REGEX EXTRACT(col4,'(?:\.)([^\.]*\.?[^\.]*)$')) AS (url:chararray) ;

这行代码带有错误语法错误,'('或附近的意外符号

正则表达式通过获取google.co.uk起作用,并将返回.co.uk,google.com将返回.com
链接在这里: http://gskinner.com/RegExr/?372tm

然后,我的想法是按顶级域名(TLD)的数量进行计数。例如3 co.uk
 countURL = group data by url;
result = foreach countURL generate group, COUNT($1);

如果有人可以帮助,那就太好了。

谢谢

最佳答案

有两件事:

  • 您缺少_中的regex_extract
  • 您需要指定组0
  • 点必须用双引号括起来\\
  • data = FOREACH A GENERATE FLATTEN(REGEX_EXTRACT(url,'(?:\\.)([^\\.]*\\.?[^\\.]*)$', 0));
    这给出了 .comgoogle.com

    关于regex - 正则表达式在 pig 的每个循环中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19814706/

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