c

org.apache.spark.network.shuffle

ExternalBlockStoreClient

class ExternalBlockStoreClient extends BlockStoreClient

Client for reading both RDD blocks and shuffle blocks which points to an external (outside of executor) server. This is instead of reading blocks directly from other executors (via BlockTransferService), which has the downside of losing the data if we lose the executors.

Linear Supertypes
BlockStoreClient, Closeable, AutoCloseable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ExternalBlockStoreClient
  2. BlockStoreClient
  3. Closeable
  4. AutoCloseable
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ExternalBlockStoreClient(conf: TransportConf, secretKeyHolder: SecretKeyHolder, authEnabled: Boolean, registrationTimeoutMs: Long)

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def checkInit(): Unit
    Attributes
    protected[shuffle]
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  7. def close(): Unit
    Definition Classes
    ExternalBlockStoreClient → Closeable → AutoCloseable
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  10. def fetchBlocks(host: String, port: Int, execId: String, blockIds: Array[String], listener: BlockFetchingListener, downloadFileManager: DownloadFileManager): Unit

    Fetch a sequence of blocks from a remote node asynchronously,

    Fetch a sequence of blocks from a remote node asynchronously,

    Note that this API takes a sequence so the implementation can batch requests, and does not return a future so the underlying implementation can invoke onBlockFetchSuccess as soon as the data of a block is fetched, rather than waiting for all blocks to be fetched.

    host

    the host of the remote node.

    port

    the port of the remote node.

    execId

    the executor id.

    blockIds

    block ids to fetch.

    listener

    the listener to receive block fetching status.

    downloadFileManager

    DownloadFileManager to create and clean temp files. If it's not null, the remote blocks will be streamed into temp shuffle files to reduce the memory usage, otherwise, they will be kept in memory.

    Definition Classes
    ExternalBlockStoreClientBlockStoreClient
  11. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  12. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  13. def getHostLocalDirs(host: String, port: Int, execIds: Array[String], hostLocalDirsCompletable: CompletableFuture[Map[String, Array[String]]]): Unit
  14. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  15. def init(appId: String): Unit

    Initializes the BlockStoreClient, specifying this Executor's appId.

    Initializes the BlockStoreClient, specifying this Executor's appId. Must be called before any other method on the BlockStoreClient.

  16. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  17. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  18. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  19. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  20. def registerWithShuffleServer(host: String, port: Int, execId: String, executorInfo: ExecutorShuffleInfo): Unit

    Registers this executor with an external shuffle server.

    Registers this executor with an external shuffle server. This registration is required to inform the shuffle server about where and how we store our shuffle files.

    host

    Host of shuffle server.

    port

    Port of shuffle server.

    execId

    This Executor's id.

    executorInfo

    Contains all info necessary for the service to find our shuffle files.

  21. def removeBlocks(host: String, port: Int, execId: String, blockIds: Array[String]): Future[Integer]
  22. def shuffleMetrics(): MetricSet

    Get the shuffle MetricsSet from BlockStoreClient, this will be used in MetricsSystem to get the Shuffle related metrics.

    Get the shuffle MetricsSet from BlockStoreClient, this will be used in MetricsSystem to get the Shuffle related metrics.

    Definition Classes
    ExternalBlockStoreClientBlockStoreClient
  23. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  24. def toString(): String
    Definition Classes
    AnyRef → Any
  25. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  26. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()

Inherited from BlockStoreClient

Inherited from Closeable

Inherited from AutoCloseable

Inherited from AnyRef

Inherited from Any

Ungrouped