class DelayedCommitProtocol extends FileCommitProtocol with Serializable with Logging
Writes out the files to path and returns a list of them in addedStatuses. Includes
special handling for partitioning on CDC_PARTITION_COL for
compatibility between enabled and disabled CDC; partitions with a value of false in this
column produce no corresponding partitioning directory.
- Alphabetic
- By Inheritance
- DelayedCommitProtocol
- Serializable
- FileCommitProtocol
- Logging
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new DelayedCommitProtocol(jobId: String, path: String, randomPrefixLength: Option[Int], subdir: Option[String])
- path
The base path files will be written
- randomPrefixLength
The length of random subdir name under 'path' that files been written
- subdir
The immediate subdir under path; If randomPrefixLength and subdir both exist, file path will be path/subdir/[rand str of randomPrefixLength]/file
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- val FILE_NAME_PREFIX: String
Prefix added in testing mode to all filenames to test special chars that need URL-encoding.
- def abortJob(jobContext: JobContext): Unit
- Definition Classes
- DelayedCommitProtocol → FileCommitProtocol
- def abortTask(taskContext: TaskAttemptContext): Unit
- Definition Classes
- DelayedCommitProtocol → FileCommitProtocol
- var addedFiles: ArrayBuffer[(Map[String, String], String)]
- Attributes
- protected
- val addedStatuses: ArrayBuffer[AddFile]
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def buildActionFromAddedFile(f: (Map[String, String], String), stat: FileStatus, taskContext: TaskAttemptContext): FileAction
- Attributes
- protected
- val cdcPartitionFalse: String
- Attributes
- protected
- val cdcPartitionTrue: String
- Attributes
- protected
- val cdcPartitionTrueRegex: Regex
- Attributes
- protected
- val changeFiles: ArrayBuffer[AddCDCFile]
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def commitJob(jobContext: JobContext, taskCommits: Seq[TaskCommitMessage]): Unit
Commits a job after the writes succeed.
Commits a job after the writes succeed. Must be called on the driver. Partitions the written files into AddFiles and AddCDCFiles as these metadata actions are treated differently by TransactionalWrite (i.e. AddFile's may have additional statistics injected)
- Definition Classes
- DelayedCommitProtocol → FileCommitProtocol
- def commitTask(taskContext: TaskAttemptContext): TaskCommitMessage
- Definition Classes
- DelayedCommitProtocol → FileCommitProtocol
- def deleteWithJob(fs: FileSystem, path: Path, recursive: Boolean): Boolean
- Definition Classes
- FileCommitProtocol
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def getFileName(taskContext: TaskAttemptContext, ext: String, partitionValues: Map[String, String]): String
- Attributes
- protected
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def initializeLogIfNecessary(isInterpreter: Boolean, silent: Boolean): Boolean
- Attributes
- protected
- Definition Classes
- Logging
- def initializeLogIfNecessary(isInterpreter: Boolean): Unit
- Attributes
- protected
- Definition Classes
- Logging
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isTraceEnabled(): Boolean
- Attributes
- protected
- Definition Classes
- Logging
- def log: Logger
- Attributes
- protected
- Definition Classes
- Logging
- def logDebug(msg: => String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logDebug(msg: => String): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logError(msg: => String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logError(msg: => String): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logInfo(msg: => String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logInfo(msg: => String): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logName: String
- Attributes
- protected
- Definition Classes
- Logging
- def logTrace(msg: => String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logTrace(msg: => String): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logWarning(msg: => String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logWarning(msg: => String): Unit
- Attributes
- protected
- Definition Classes
- Logging
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def newTaskTempFile(taskContext: TaskAttemptContext, dir: Option[String], ext: String): String
Notifies the commit protocol to add a new file, and gets back the full path that should be used.
Notifies the commit protocol to add a new file, and gets back the full path that should be used.
Includes special logic for CDC files and paths. Specifically, if the directory
dircontains the CDC partitionis_cdc=truepartition removed and is placed in thethen - the file name begins withcdc-instead ofpart-- the directory has theis_cdc=true_changed_datafolder- Definition Classes
- DelayedCommitProtocol → FileCommitProtocol
- def newTaskTempFile(taskContext: TaskAttemptContext, dir: Option[String], spec: FileNameSpec): String
- Definition Classes
- FileCommitProtocol
- def newTaskTempFileAbsPath(taskContext: TaskAttemptContext, absoluteDir: String, ext: String): String
- Definition Classes
- DelayedCommitProtocol → FileCommitProtocol
- def newTaskTempFileAbsPath(taskContext: TaskAttemptContext, absoluteDir: String, spec: FileNameSpec): String
- Definition Classes
- FileCommitProtocol
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def onTaskCommit(taskCommit: TaskCommitMessage): Unit
- Definition Classes
- FileCommitProtocol
- def parsePartitions(dir: String, taskContext: TaskAttemptContext): Map[String, String]
- Attributes
- protected
- def setupJob(jobContext: JobContext): Unit
- Definition Classes
- DelayedCommitProtocol → FileCommitProtocol
- def setupTask(taskContext: TaskAttemptContext): Unit
- Definition Classes
- DelayedCommitProtocol → FileCommitProtocol
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- val timestampPartitionPattern: String
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()