[ 
https://issues.apache.org/jira/browse/BEAM-5775?focusedWorklogId=173721&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-173721
 ]

ASF GitHub Bot logged work on BEAM-5775:
----------------------------------------

                Author: ASF GitHub Bot
            Created on: 10/Dec/18 18:01
            Start Date: 10/Dec/18 18:01
    Worklog Time Spent: 10m 
      Work Description: mikekap commented on a change in pull request #6714: 
[BEAM-5775] Spark: implement a custom class to lazily encode values for 
persistence.
URL: https://github.com/apache/beam/pull/6714#discussion_r240317683
 
 

 ##########
 File path: 
runners/spark/src/main/java/org/apache/beam/runners/spark/translation/TranslationUtils.java
 ##########
 @@ -383,6 +385,6 @@ public static void rejectStateAndTimers(DoFn<?, ?> doFn) {
    * @return true if the level is memory only
    */
   public static boolean avoidRddSerialization(StorageLevel level) {
-    return level.equals(StorageLevel.MEMORY_ONLY()) || 
level.equals(StorageLevel.MEMORY_ONLY_2());
 
 Review comment:
   This is a drive-by fix for using the MEMORY_ONLY_2 storage level. The code 
previously assumed that no serialization was necessary, which isn't strictly 
true since the _2 means "replicate to other nodes" - i.e. serialize over 
network.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
-------------------

    Worklog Id:     (was: 173721)
    Time Spent: 1h 10m  (was: 1h)

> Make the spark runner not serialize data unless spark is spilling to disk
> -------------------------------------------------------------------------
>
>                 Key: BEAM-5775
>                 URL: https://issues.apache.org/jira/browse/BEAM-5775
>             Project: Beam
>          Issue Type: Improvement
>          Components: runner-spark
>            Reporter: Mike Kaplinskiy
>            Assignee: Mike Kaplinskiy
>            Priority: Minor
>          Time Spent: 1h 10m
>  Remaining Estimate: 0h
>
> Currently for storage level MEMORY_ONLY, Beam does not coder-ify the data. 
> This lets Spark keep the data in memory avoiding the serialization round 
> trip. Unfortunately the logic is fairly coarse - as soon as you switch to 
> MEMORY_AND_DISK, Beam coder-ifys the data even though Spark might have chosen 
> to keep the data in memory, incurring the serialization overhead.
>  
> Ideally Beam would serialize the data lazily - as Spark chooses to spill to 
> disk. This would be a change in behavior when using beam, but luckily Spark 
> has a solution for folks that want data serialized in memory - 
> MEMORY_AND_DISK_SER will keep the data serialized.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to