Skip to content
Snippets Groups Projects
  • Nicholas Chammas's avatar
    5d16d5bb
    [SPARK-2470] PEP8 fixes to PySpark · 5d16d5bb
    Nicholas Chammas authored
    This pull request aims to resolve all outstanding PEP8 violations in PySpark.
    
    Author: Nicholas Chammas <nicholas.chammas@gmail.com>
    Author: nchammas <nicholas.chammas@gmail.com>
    
    Closes #1505 from nchammas/master and squashes the following commits:
    
    98171af [Nicholas Chammas] [SPARK-2470] revert PEP 8 fixes to cloudpickle
    cba7768 [Nicholas Chammas] [SPARK-2470] wrap expression list in parentheses
    e178dbe [Nicholas Chammas] [SPARK-2470] style - change position of line break
    9127d2b [Nicholas Chammas] [SPARK-2470] wrap expression lists in parentheses
    22132a4 [Nicholas Chammas] [SPARK-2470] wrap conditionals in parentheses
    24639bc [Nicholas Chammas] [SPARK-2470] fix whitespace for doctest
    7d557b7 [Nicholas Chammas] [SPARK-2470] PEP8 fixes to tests.py
    8f8e4c0 [Nicholas Chammas] [SPARK-2470] PEP8 fixes to storagelevel.py
    b3b96cf [Nicholas Chammas] [SPARK-2470] PEP8 fixes to statcounter.py
    d644477 [Nicholas Chammas] [SPARK-2470] PEP8 fixes to worker.py
    aa3a7b6 [Nicholas Chammas] [SPARK-2470] PEP8 fixes to sql.py
    1916859 [Nicholas Chammas] [SPARK-2470] PEP8 fixes to shell.py
    95d1d95 [Nicholas Chammas] [SPARK-2470] PEP8 fixes to serializers.py
    a0fec2e [Nicholas Chammas] [SPARK-2470] PEP8 fixes to mllib
    c85e1e5 [Nicholas Chammas] [SPARK-2470] PEP8 fixes to join.py
    d14f2f1 [Nicholas Chammas] [SPARK-2470] PEP8 fixes to __init__.py
    81fcb20 [Nicholas Chammas] [SPARK-2470] PEP8 fixes to resultiterable.py
    1bde265 [Nicholas Chammas] [SPARK-2470] PEP8 fixes to java_gateway.py
    7fc849c [Nicholas Chammas] [SPARK-2470] PEP8 fixes to daemon.py
    ca2d28b [Nicholas Chammas] [SPARK-2470] PEP8 fixes to context.py
    f4e0039 [Nicholas Chammas] [SPARK-2470] PEP8 fixes to conf.py
    a6d5e4b [Nicholas Chammas] [SPARK-2470] PEP8 fixes to cloudpickle.py
    f0a7ebf [Nicholas Chammas] [SPARK-2470] PEP8 fixes to rddsampler.py
    4dd148f [nchammas] Merge pull request #5 from apache/master
    f7e4581 [Nicholas Chammas] unrelated pep8 fix
    a36eed0 [Nicholas Chammas] name ec2 instances and security groups consistently
    de7292a [nchammas] Merge pull request #4 from apache/master
    2e4fe00 [nchammas] Merge pull request #3 from apache/master
    89fde08 [nchammas] Merge pull request #2 from apache/master
    69f6e22 [Nicholas Chammas] PEP8 fixes
    2627247 [Nicholas Chammas] broke up lines before they hit 100 chars
    6544b7e [Nicholas Chammas] [SPARK-2065] give launched instances names
    69da6cf [nchammas] Merge pull request #1 from apache/master
    5d16d5bb
    History
    [SPARK-2470] PEP8 fixes to PySpark
    Nicholas Chammas authored
    This pull request aims to resolve all outstanding PEP8 violations in PySpark.
    
    Author: Nicholas Chammas <nicholas.chammas@gmail.com>
    Author: nchammas <nicholas.chammas@gmail.com>
    
    Closes #1505 from nchammas/master and squashes the following commits:
    
    98171af [Nicholas Chammas] [SPARK-2470] revert PEP 8 fixes to cloudpickle
    cba7768 [Nicholas Chammas] [SPARK-2470] wrap expression list in parentheses
    e178dbe [Nicholas Chammas] [SPARK-2470] style - change position of line break
    9127d2b [Nicholas Chammas] [SPARK-2470] wrap expression lists in parentheses
    22132a4 [Nicholas Chammas] [SPARK-2470] wrap conditionals in parentheses
    24639bc [Nicholas Chammas] [SPARK-2470] fix whitespace for doctest
    7d557b7 [Nicholas Chammas] [SPARK-2470] PEP8 fixes to tests.py
    8f8e4c0 [Nicholas Chammas] [SPARK-2470] PEP8 fixes to storagelevel.py
    b3b96cf [Nicholas Chammas] [SPARK-2470] PEP8 fixes to statcounter.py
    d644477 [Nicholas Chammas] [SPARK-2470] PEP8 fixes to worker.py
    aa3a7b6 [Nicholas Chammas] [SPARK-2470] PEP8 fixes to sql.py
    1916859 [Nicholas Chammas] [SPARK-2470] PEP8 fixes to shell.py
    95d1d95 [Nicholas Chammas] [SPARK-2470] PEP8 fixes to serializers.py
    a0fec2e [Nicholas Chammas] [SPARK-2470] PEP8 fixes to mllib
    c85e1e5 [Nicholas Chammas] [SPARK-2470] PEP8 fixes to join.py
    d14f2f1 [Nicholas Chammas] [SPARK-2470] PEP8 fixes to __init__.py
    81fcb20 [Nicholas Chammas] [SPARK-2470] PEP8 fixes to resultiterable.py
    1bde265 [Nicholas Chammas] [SPARK-2470] PEP8 fixes to java_gateway.py
    7fc849c [Nicholas Chammas] [SPARK-2470] PEP8 fixes to daemon.py
    ca2d28b [Nicholas Chammas] [SPARK-2470] PEP8 fixes to context.py
    f4e0039 [Nicholas Chammas] [SPARK-2470] PEP8 fixes to conf.py
    a6d5e4b [Nicholas Chammas] [SPARK-2470] PEP8 fixes to cloudpickle.py
    f0a7ebf [Nicholas Chammas] [SPARK-2470] PEP8 fixes to rddsampler.py
    4dd148f [nchammas] Merge pull request #5 from apache/master
    f7e4581 [Nicholas Chammas] unrelated pep8 fix
    a36eed0 [Nicholas Chammas] name ec2 instances and security groups consistently
    de7292a [nchammas] Merge pull request #4 from apache/master
    2e4fe00 [nchammas] Merge pull request #3 from apache/master
    89fde08 [nchammas] Merge pull request #2 from apache/master
    69f6e22 [Nicholas Chammas] PEP8 fixes
    2627247 [Nicholas Chammas] broke up lines before they hit 100 chars
    6544b7e [Nicholas Chammas] [SPARK-2065] give launched instances names
    69da6cf [nchammas] Merge pull request #1 from apache/master
storagelevel.py 2.75 KiB
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

__all__ = ["StorageLevel"]


class StorageLevel:
    """
    Flags for controlling the storage of an RDD. Each StorageLevel records whether to use memory,
    whether to drop the RDD to disk if it falls out of memory, whether to keep the data in memory
    in a serialized format, and whether to replicate the RDD partitions on multiple nodes.
    Also contains static constants for some commonly used storage levels, such as MEMORY_ONLY.
    """

    def __init__(self, useDisk, useMemory, useOffHeap, deserialized, replication=1):
        self.useDisk = useDisk
        self.useMemory = useMemory
        self.useOffHeap = useOffHeap
        self.deserialized = deserialized
        self.replication = replication

    def __repr__(self):
        return "StorageLevel(%s, %s, %s, %s, %s)" % (
            self.useDisk, self.useMemory, self.useOffHeap, self.deserialized, self.replication)

    def __str__(self):
        result = ""
        result += "Disk " if self.useDisk else ""
        result += "Memory " if self.useMemory else ""
        result += "Tachyon " if self.useOffHeap else ""
        result += "Deserialized " if self.deserialized else "Serialized "
        result += "%sx Replicated" % self.replication
        return result

StorageLevel.DISK_ONLY = StorageLevel(True, False, False, False)
StorageLevel.DISK_ONLY_2 = StorageLevel(True, False, False, False, 2)
StorageLevel.MEMORY_ONLY = StorageLevel(False, True, False, True)
StorageLevel.MEMORY_ONLY_2 = StorageLevel(False, True, False, True, 2)
StorageLevel.MEMORY_ONLY_SER = StorageLevel(False, True, False, False)
StorageLevel.MEMORY_ONLY_SER_2 = StorageLevel(False, True, False, False, 2)
StorageLevel.MEMORY_AND_DISK = StorageLevel(True, True, False, True)
StorageLevel.MEMORY_AND_DISK_2 = StorageLevel(True, True, False, True, 2)
StorageLevel.MEMORY_AND_DISK_SER = StorageLevel(True, True, False, False)
StorageLevel.MEMORY_AND_DISK_SER_2 = StorageLevel(True, True, False, False, 2)
StorageLevel.OFF_HEAP = StorageLevel(False, False, True, False, 1)