Class

it.agilelab.bigdata.wasp.consumers.spark.strategies.gdpr.hdfs

HdfsBackupHandler

Related Doc: package hdfs

Permalink

class HdfsBackupHandler extends AnyRef

Handler for the backup operations of HDFS files

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. HdfsBackupHandler
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new HdfsBackupHandler(fs: FileSystem, backupParentDirPath: Path, dataPath: Path)

    Permalink

    fs

    FileSystem to use for the operations

    backupParentDirPath

    Base path where to create the backup directory

    dataPath

    Path containing the data that will be backup

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 backup(filesToBackup: Seq[Path]): Try[Path]

    Permalink

    Create a new directory inside backupParentDir, called "backup_{randomUUID}".

    Create a new directory inside backupParentDir, called "backup_{randomUUID}". Each of the files inside filesToBackup will be copied in this directory, also maintaining the eventual HDFS partitioning. The new file path is created by removing the base directory (that is dataPath) from the file path, and replacing it with the path of the backup directory. Example: filesToBackup = ["/user/data/p1=a/p2=b/file.parquet"] backupParentDir = "/user" dataPath = "/user/data"

    • This function creates: backupDir = "/user/backup_123"
    • then it copies the file into this directory, replacing the prefix "/user/data" with "/user/backup_123": "/user/backup_123/p1=a/p2=b/file.parquet"
    filesToBackup

    Files that should be copied in the backup directory

    returns

    Path of the newly created backup directory

  6. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  7. def deleteBackup(backupPath: Path): Try[Unit]

    Permalink

    Delete the entire backup directory

    Delete the entire backup directory

    backupPath

    Path of the backup directory to delete

  8. final def eq(arg0: AnyRef): Boolean

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

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  11. final def getClass(): Class[_]

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

    Permalink
    Definition Classes
    AnyRef → Any
  13. final def isInstanceOf[T0]: Boolean

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

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

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

    Permalink
    Definition Classes
    AnyRef
  17. def restoreBackup(backupPath: Path): Try[Unit]

    Permalink

    Restores files backup inside backupPath to dataPath.

    Restores files backup inside backupPath to dataPath. Each of the files listed recursively inside backupPath is "moved back" to the data directory, by replacing the prefix of the backup directory with the prefix of the data directory. Example: backupPath = "/user/backup_123" backupParentDir = "/user" dataPath = "/user/data"

    - Listed backup file "/user/backup_123/p1=a/p2=b/file.parquet" - this file is renamed by replacing the prefix "/user/backup_123" with "/user/data" "/user/data/p1=a/p2=b/file.parquet"

    backupPath

    Path of the backup directory containing the files to restore

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

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

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

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

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

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

Inherited from AnyRef

Inherited from Any

Ungrouped