Trait/Object

org.locationtech.geomesa.fs.storage.api

StorageMetadata

Related Docs: object StorageMetadata | package api

Permalink

trait StorageMetadata extends Compactable with Closeable

Metadata interface for managing storage partitions. Metadata implementations can be fairly expensive to instantiate, as they maintain all the partitions and files for a given storage instance. Generally, they may not load any partition state until reload is invoked - this allows for fast access in the cases where partition state is not required (e.g. access to partition scheme, blind writes, etc)

Linear Supertypes
Closeable, AutoCloseable, Compactable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. StorageMetadata
  2. Closeable
  3. AutoCloseable
  4. Compactable
  5. AnyRef
  6. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def addPartition(partition: PartitionMetadata): Unit

    Permalink

    Add (or update) metadata for a partition

    Add (or update) metadata for a partition

    partition

    partition

  2. abstract def close(): Unit

    Permalink
    Definition Classes
    Closeable → AutoCloseable
    Annotations
    @throws( classOf[java.io.IOException] )
  3. abstract def encoding: String

    Permalink

    The encoding of the underlying data files

    The encoding of the underlying data files

    returns

    encoding

  4. abstract def getPartition(name: String): Option[PartitionMetadata]

    Permalink

    Get a partition by name.

    Get a partition by name. Ensure that reload has been invoked at least once before calling this method

    name

    partition name

    returns

    partition metadata, if partition exists

  5. abstract def getPartitions(prefix: Option[String] = None): Seq[PartitionMetadata]

    Permalink

    Get all partitions, with an optional prefix filter.

    Get all partitions, with an optional prefix filter. Ensure that reload has been invoked at least once before calling this method

    prefix

    prefix used to match partition names

    returns

    all partitions

  6. abstract def leafStorage: Boolean

    Permalink

    Are partitions stored as leaves (multiple partitions in a single folder), or does each partition have a unique folder.

    Are partitions stored as leaves (multiple partitions in a single folder), or does each partition have a unique folder. Using leaf storage can reduce the level of nesting and make file system operations faster in some cases.

    returns

    leaf

  7. abstract def removePartition(partition: PartitionMetadata): Unit

    Permalink

    Update (or delete) metadata for a partition

    Update (or delete) metadata for a partition

    partition

    partition

  8. abstract def scheme: PartitionScheme

    Permalink

    The partition scheme used to partition features for storage and querying

    The partition scheme used to partition features for storage and querying

    returns

    partition scheme

  9. abstract def sft: SimpleFeatureType

    Permalink

    The schema for SimpleFeatures stored in the file system storage

    The schema for SimpleFeatures stored in the file system storage

    returns

    schema

  10. abstract def compact(partition: Option[String], threads: Int): Unit

    Permalink

    Compact a partition - merge multiple data files into a single file.

    Compact a partition - merge multiple data files into a single file.

    Care should be taken with this method. Currently, there is no guarantee for correct behavior if multiple threads or storage instances attempt to compact the same partition simultaneously.

    partition

    partition to compact, or all partitions

    threads

    suggested threads to use for file system operations

    Definition Classes
    Compactable
    Annotations
    @deprecated
    Deprecated

    replaced with compact(Option[String], Option[Long], Int)

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. def compact(partition: Option[String], fileSize: Option[Long] = None, threads: Int = 1): Unit

    Permalink

    Compact a partition - merge multiple data files into a single file.

    Compact a partition - merge multiple data files into a single file.

    Care should be taken with this method. Currently, there is no guarantee for correct behavior if multiple threads or storage instances attempt to compact the same partition simultaneously.

    partition

    partition to compact, or all partitions

    fileSize

    approximate target size of files, in bytes

    threads

    suggested threads to use for file system operations

    Definition Classes
    Compactable
  7. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  8. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  9. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  10. def get(key: String): Option[String]

    Permalink

    Get a previously set key-value pair

    Get a previously set key-value pair

    key

    key

  11. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  12. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  13. def invalidate(): Unit

    Permalink

    Invalidate any cached state

  14. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  15. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  16. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  17. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  18. def set(key: String, value: String): Unit

    Permalink

    Set a key-value pair

    Set a key-value pair

    key

    key

    value

    value

  19. def setPartitions(partitions: Seq[PartitionMetadata]): Unit

    Permalink

    Overwrite any existing partitions

    Overwrite any existing partitions

    partitions

    partitions

  20. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  21. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  22. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  23. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Deprecated Value Members

  1. def reload(): Unit

    Permalink
    Annotations
    @deprecated
    Deprecated

    deprecated with no replacement

Inherited from Closeable

Inherited from AutoCloseable

Inherited from Compactable

Inherited from AnyRef

Inherited from Any

Ungrouped