Reynold Xin created SPARK-8888:
----------------------------------

             Summary: DynamicPartitionWriterContainer.outputWriterForRow is 
very inefficient
                 Key: SPARK-8888
                 URL: https://issues.apache.org/jira/browse/SPARK-8888
             Project: Spark
          Issue Type: Sub-task
            Reporter: Reynold Xin


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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to