You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Carlos Gameiro (Jira)" <ji...@apache.org> on 2022/01/20 14:52:00 UTC

[jira] [Updated] (SPARK-37971) Apply and evaluate expressiosn row-wise in a DataFrame

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

Carlos Gameiro updated SPARK-37971:
-----------------------------------
    Description: 
This functionality would serve very specific use cases.

Consider a DataFrame with a column of SQL expressions encoded as strings. Individually it's possible to evaluate each string and obtain the corresponding result. However it is not possible to apply the expr function row-wise (UDF or map), and evaluate all expression efficiently.

id  |  sql_expression

1   |  abs(-1) + 12

2   |  decode(1,2,3,4) - 1

3   |  30 * 20 - 5

df = df.withColumn('sql_eval', f.expr_row('sql_expression'))

  was:
This functionality would serve very specific use cases.

Consider a DataFrame with a column of SQL expressions encoded as strings. Individually it's possible to evaluate each string and obtain the corresponding result. However it is not possible to apply the expr function row-wise (UDF or map), and evaluate all expression efficiently.


> Apply and evaluate expressiosn row-wise in a DataFrame
> ------------------------------------------------------
>
>                 Key: SPARK-37971
>                 URL: https://issues.apache.org/jira/browse/SPARK-37971
>             Project: Spark
>          Issue Type: Improvement
>          Components: PySpark
>    Affects Versions: 3.2.0
>            Reporter: Carlos Gameiro
>            Priority: Critical
>
> This functionality would serve very specific use cases.
> Consider a DataFrame with a column of SQL expressions encoded as strings. Individually it's possible to evaluate each string and obtain the corresponding result. However it is not possible to apply the expr function row-wise (UDF or map), and evaluate all expression efficiently.
> id  |  sql_expression
> 1   |  abs(-1) + 12
> 2   |  decode(1,2,3,4) - 1
> 3   |  30 * 20 - 5
> df = df.withColumn('sql_eval', f.expr_row('sql_expression'))



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

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