You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Reynold Xin (JIRA)" <ji...@apache.org> on 2015/07/08 22:03:04 UTC

[jira] [Updated] (SPARK-8888) Replace the hash map in DynamicPartitionWriterContainer.outputWriterForRow with java.util.HashMap

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

Reynold Xin updated SPARK-8888:
-------------------------------
    Summary: Replace the hash map in DynamicPartitionWriterContainer.outputWriterForRow with java.util.HashMap  (was: DynamicPartitionWriterContainer.outputWriterForRow is very inefficient)

> Replace the hash map in DynamicPartitionWriterContainer.outputWriterForRow with java.util.HashMap
> -------------------------------------------------------------------------------------------------
>
>                 Key: SPARK-8888
>                 URL: https://issues.apache.org/jira/browse/SPARK-8888
>             Project: Spark
>          Issue Type: Sub-task
>          Components: SQL
>            Reporter: Reynold Xin
>             Fix For: 1.5.0
>
>
> A few things:
> 1. We should use a java.util.HashMap, which is faster than Scala's map, although this one barely matters.
> 2. Don't use zip and scala collection methods to avoid garbage collection
> {code}
>     val partitionPath = partitionColumns.zip(row.toSeq).map { case (col, rawValue) =>
>       val string = if (rawValue == null) null else String.valueOf(rawValue)
>       val valueString = if (string == null || string.isEmpty) {
>         defaultPartitionName
>       } else {
>         PartitioningUtils.escapePathName(string)
>       }
>       s"/$col=$valueString"
>     }.mkString.stripPrefix(Path.SEPARATOR)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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