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