[ 
https://issues.apache.org/jira/browse/SPARK-24884?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nick Nicolini updated SPARK-24884:
----------------------------------
    Description: 
I've recently hit many cases of regexp parsing where we need to match on 
something that is always arbitrary in length; for example, a text block that 
looks something like:
{code:java}
AAA:WORDS|
BBB:TEXT|
MSG:ASDF|
MSG:QWER|
...
MSG:ZXCV|{code}
Where I need to pull out all values between "MSG:" and "|", which can occur in 
each instance between 1 and n times. I cannot reliably use the existing 
_regexp_extract_ method since the number of occurrences is always arbitrary, 
and while I can write a UDF to handle this it'd be great if this was supported 
natively in Spark.

Perhaps we can implement something like _regexp_extract_all_ as 
[Presto|https://prestodb.io/docs/current/functions/regexp.html] and 
[Pig|https://pig.apache.org/docs/latest/api/org/apache/pig/builtin/REGEX_EXTRACT_ALL.html]
 have?

 
{noformat}
*no* further _formatting_ is done here{noformat}

  was:
I've recently hit many cases of regexp parsing where we need to match on 
something that is always arbitrary in length; for example, a text block that 
looks something like:
{code:java}
AAA:WORDS|
BBB:TEXT|
MSG:ASDF|
MSG:QWER|
...
MSG:ZXCV|{code}
Where I need to pull out all values between "MSG:" and "|", which can occur in 
each instance between 1 and n times. I cannot reliably use the existing 
_regexp_extract_ method since the number of occurrences is always arbitrary, 
and while I can write a UDF to handle this it'd be great if this was supported 
natively in Spark.

Perhaps we can implement something like _regexp_extract_all_ as 
[Presto|https://prestodb.io/docs/current/functions/regexp.html] and 
[Pig|https://pig.apache.org/docs/latest/api/org/apache/pig/builtin/REGEX_EXTRACT_ALL.html]
 have?


> Implement regexp_extract_all
> ----------------------------
>
>                 Key: SPARK-24884
>                 URL: https://issues.apache.org/jira/browse/SPARK-24884
>             Project: Spark
>          Issue Type: Improvement
>          Components: Spark Core
>    Affects Versions: 2.3.1
>            Reporter: Nick Nicolini
>            Priority: Major
>
> I've recently hit many cases of regexp parsing where we need to match on 
> something that is always arbitrary in length; for example, a text block that 
> looks something like:
> {code:java}
> AAA:WORDS|
> BBB:TEXT|
> MSG:ASDF|
> MSG:QWER|
> ...
> MSG:ZXCV|{code}
> Where I need to pull out all values between "MSG:" and "|", which can occur 
> in each instance between 1 and n times. I cannot reliably use the existing 
> _regexp_extract_ method since the number of occurrences is always arbitrary, 
> and while I can write a UDF to handle this it'd be great if this was 
> supported natively in Spark.
> Perhaps we can implement something like _regexp_extract_all_ as 
> [Presto|https://prestodb.io/docs/current/functions/regexp.html] and 
> [Pig|https://pig.apache.org/docs/latest/api/org/apache/pig/builtin/REGEX_EXTRACT_ALL.html]
>  have?
>  
> {noformat}
> *no* further _formatting_ is done here{noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org
For additional commands, e-mail: issues-h...@spark.apache.org

Reply via email to