将pig拉丁正则表达式代码转换为google bigquery

sczxawaw  于 2021-06-25  发布在  Pig
关注(0)|答案(1)|浏览(271)

我正在尝试将下面的pig拉丁regex\u extract函数转换为google bigquery正则表达式。有人能谈谈他们的想法吗。我的pig拉丁代码如下,并希望以同样的方式在googlebigquery中实现它。如果可以,请分享你的宝贵意见。谢谢您。


**`Pig Latin code :-`**

report = foreach temp generate referrerUrl, 
                               REGEX_EXTRACT(referrerUrl, '(?i)[&\\\\?]referrer=([^&\\\\u003b]+).*', 1)  as referrerUrl_Final,
                               lUrl, 
                           REGEX_EXTRACT(locationUrl, '((?<=[\\\\u003B|&]r=)[^\\\\u003B|&]+)', 1) AS locationUrl_Final
uqxowvwt

uqxowvwt1#

在这种情况下,pig和bigquery之间没有太多的转换。只需将临时数据作为csv或json加载到bigquery中,然后使用:

SELECT
    referrerURL,
    REGEX_EXTRACT(referrerUrl, '(?i)[&\\\\?]referrer=([^&\\\\u003b]+).*') AS referrerUrl_Final,
    lUrl,
    REGEX_EXTRACT(locationUrl, '((?<=[\\\\u003B|&]r=)[^\\\\u003B|&]+)') AS locationUrl_Final
FROM
    [Mydata.Temp]

regex的解释应该类似,但也许您可以共享几行数据来测试?afaik唯一的区别是bigquery的regex\u extract函数没有match group index参数。

相关问题