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

Bruce Robbins updated SPARK-26378:
----------------------------------
    Description: 
A recent change significantly slowed the queries of wide CSV tables. For 
example, queries against a 6000 column table slowed by 45-48% when queried with 
a single executor.
  
 The [PR for 
SPARK-26151|https://github.com/apache/spark/commit/11e5f1bcd49eec8ab4225d6e68a051b5c6a21cb2]
 changed FailureSafeParser#toResultRow such that the returned function 
recreates every row, even when the associated input record has no parsing 
issues and the user specified no corrupt record field in his/her schema. This 
extra processing is responsible for the slowdown.

The change to FailureSafeParser also impacted queries of wide JSON tables as 
well.

 I propose that a row should be recreated only if there is a parsing error or 
columns need to be shifted due to the existence of a corrupt column field in 
the user-supplied schema. Otherwise, the row should be used as-is.

  was:
A recent change significantly slowed the queries of wide CSV tables. For 
example, queries against a 6000 column table slowed by 45-48% when queried with 
a single executor.
  
 The [PR for 
SPARK-26151|https://github.com/apache/spark/commit/11e5f1bcd49eec8ab4225d6e68a051b5c6a21cb2]
 changed FailureSafeParser#toResultRow such that the returned function 
recreates every row, even when the associated input record has no parsing 
issues and the user specified no corrupt record field in his/her schema. This 
extra processing is responsible for the slowdown.
  
 I propose that a row should be recreated only if there is a parsing error or 
columns need to be shifted due to the existence of a corrupt column field in 
the user-supplied schema. Otherwise, the row should be used as-is.


> Queries of wide CSV/JSON data slowed after SPARK-26151
> ------------------------------------------------------
>
>                 Key: SPARK-26378
>                 URL: https://issues.apache.org/jira/browse/SPARK-26378
>             Project: Spark
>          Issue Type: Improvement
>          Components: SQL
>    Affects Versions: 3.0.0
>            Reporter: Bruce Robbins
>            Priority: Major
>
> A recent change significantly slowed the queries of wide CSV tables. For 
> example, queries against a 6000 column table slowed by 45-48% when queried 
> with a single executor.
>   
>  The [PR for 
> SPARK-26151|https://github.com/apache/spark/commit/11e5f1bcd49eec8ab4225d6e68a051b5c6a21cb2]
>  changed FailureSafeParser#toResultRow such that the returned function 
> recreates every row, even when the associated input record has no parsing 
> issues and the user specified no corrupt record field in his/her schema. This 
> extra processing is responsible for the slowdown.
> The change to FailureSafeParser also impacted queries of wide JSON tables as 
> well.
>  I propose that a row should be recreated only if there is a parsing error or 
> columns need to be shifted due to the existence of a corrupt column field in 
> the user-supplied schema. Otherwise, the row should be used as-is.



--
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