Packages

c

com.johnsnowlabs.nlp.annotators

DataFrameOptimizer

class DataFrameOptimizer extends Transformer with DefaultParamsWritable

Optimizes a org.apache.spark.sql.DataFrame by adjusting the number of partitions, optionally caching it, and optionally persisting it to disk.

This transformer is useful when fine-tuning performance in a Spark NLP pipeline or preparing data for export or downstream tasks. It provides options to control the number of partitions directly, or to calculate them using the number of executor cores and workers. Additionally, it can persist the DataFrame in CSV, JSON, or Parquet format with configurable writer options.

Parameters

  • executorCores (Int): Number of cores per executor, used to calculate partitions.
  • numWorkers (Int): Total number of executor nodes.
  • numPartitions (Int): Target number of partitions. Overrides the computed value from cores × workers.
  • doCache (Boolean): Whether to cache the transformed DataFrame.
  • persistPath (String): Optional path to write the output DataFrame.
  • persistFormat (String): File format for persistence. Supported: csv, json, parquet.
  • outputOptions (Map[String, String]): Extra options passed to the DataFrameWriter.

Example

val optimizer = new DataFrameOptimizer()
  .setExecutorCores(4)
  .setNumWorkers(5)
  .setDoCache(true)
  .setPersistPath("/tmp/output")
  .setPersistFormat("parquet")
  .setOutputOptions(Map("compression" -> "snappy"))

val optimizedDF = optimizer.transform(inputDF)

This transformer does not modify the schema of the DataFrame.

Linear Supertypes
DefaultParamsWritable, MLWritable, Transformer, PipelineStage, Logging, Params, Serializable, Serializable, Identifiable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DataFrameOptimizer
  2. DefaultParamsWritable
  3. MLWritable
  4. Transformer
  5. PipelineStage
  6. Logging
  7. Params
  8. Serializable
  9. Serializable
  10. Identifiable
  11. AnyRef
  12. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new DataFrameOptimizer()
  2. new DataFrameOptimizer(uid: String)

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def $[T](param: Param[T]): T
    Attributes
    protected
    Definition Classes
    Params
  4. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. final def clear(param: Param[_]): DataFrameOptimizer.this.type
    Definition Classes
    Params
  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  8. def copy(extra: ParamMap): Transformer
    Definition Classes
    DataFrameOptimizer → Transformer → PipelineStage → Params
  9. def copyValues[T <: Params](to: T, extra: ParamMap): T
    Attributes
    protected
    Definition Classes
    Params
  10. final def defaultCopy[T <: Params](extra: ParamMap): T
    Attributes
    protected
    Definition Classes
    Params
  11. val doCache: BooleanParam
  12. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  14. val executorCores: IntParam
  15. def explainParam(param: Param[_]): String
    Definition Classes
    Params
  16. def explainParams(): String
    Definition Classes
    Params
  17. final def extractParamMap(): ParamMap
    Definition Classes
    Params
  18. final def extractParamMap(extra: ParamMap): ParamMap
    Definition Classes
    Params
  19. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  20. final def get[T](param: Param[T]): Option[T]
    Definition Classes
    Params
  21. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  22. final def getDefault[T](param: Param[T]): Option[T]
    Definition Classes
    Params
  23. final def getOrDefault[T](param: Param[T]): T
    Definition Classes
    Params
  24. def getParam(paramName: String): Param[Any]
    Definition Classes
    Params
  25. final def hasDefault[T](param: Param[T]): Boolean
    Definition Classes
    Params
  26. def hasParam(paramName: String): Boolean
    Definition Classes
    Params
  27. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  28. def initializeLogIfNecessary(isInterpreter: Boolean, silent: Boolean): Boolean
    Attributes
    protected
    Definition Classes
    Logging
  29. def initializeLogIfNecessary(isInterpreter: Boolean): Unit
    Attributes
    protected
    Definition Classes
    Logging
  30. final def isDefined(param: Param[_]): Boolean
    Definition Classes
    Params
  31. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  32. final def isSet(param: Param[_]): Boolean
    Definition Classes
    Params
  33. def isTraceEnabled(): Boolean
    Attributes
    protected
    Definition Classes
    Logging
  34. def log: Logger
    Attributes
    protected
    Definition Classes
    Logging
  35. def logDebug(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  36. def logDebug(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  37. def logError(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  38. def logError(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  39. def logInfo(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  40. def logInfo(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  41. def logName: String
    Attributes
    protected
    Definition Classes
    Logging
  42. def logTrace(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  43. def logTrace(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  44. def logWarning(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  45. def logWarning(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  46. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  47. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  48. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  49. val numPartitions: IntParam
  50. val numWorkers: IntParam
  51. val outputOptions: Param[Map[String, String]]
  52. lazy val params: Array[Param[_]]
    Definition Classes
    Params
  53. val persistFormat: Param[String]
  54. val persistPath: Param[String]
  55. def save(path: String): Unit
    Definition Classes
    MLWritable
    Annotations
    @Since( "1.6.0" ) @throws( ... )
  56. final def set(paramPair: ParamPair[_]): DataFrameOptimizer.this.type
    Attributes
    protected
    Definition Classes
    Params
  57. final def set(param: String, value: Any): DataFrameOptimizer.this.type
    Attributes
    protected
    Definition Classes
    Params
  58. final def set[T](param: Param[T], value: T): DataFrameOptimizer.this.type
    Definition Classes
    Params
  59. final def setDefault(paramPairs: ParamPair[_]*): DataFrameOptimizer.this.type
    Attributes
    protected
    Definition Classes
    Params
  60. final def setDefault[T](param: Param[T], value: T): DataFrameOptimizer.this.type
    Attributes
    protected[org.apache.spark.ml]
    Definition Classes
    Params
  61. def setDoCache(value: Boolean): DataFrameOptimizer.this.type
  62. def setExecutorCores(value: Int): DataFrameOptimizer.this.type
  63. def setNumPartitions(value: Int): DataFrameOptimizer.this.type
  64. def setNumWorkers(value: Int): DataFrameOptimizer.this.type
  65. def setOutputOptions(options: Map[String, String]): DataFrameOptimizer.this.type
  66. def setPersistFormat(value: String): DataFrameOptimizer.this.type
  67. def setPersistPath(value: String): DataFrameOptimizer.this.type
  68. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  69. def toString(): String
    Definition Classes
    Identifiable → AnyRef → Any
  70. def transform(dataset: Dataset[_]): DataFrame
    Definition Classes
    DataFrameOptimizer → Transformer
  71. def transform(dataset: Dataset[_], paramMap: ParamMap): DataFrame
    Definition Classes
    Transformer
    Annotations
    @Since( "2.0.0" )
  72. def transform(dataset: Dataset[_], firstParamPair: ParamPair[_], otherParamPairs: ParamPair[_]*): DataFrame
    Definition Classes
    Transformer
    Annotations
    @Since( "2.0.0" ) @varargs()
  73. def transformSchema(schema: StructType): StructType
    Definition Classes
    DataFrameOptimizer → PipelineStage
  74. def transformSchema(schema: StructType, logging: Boolean): StructType
    Attributes
    protected
    Definition Classes
    PipelineStage
    Annotations
    @DeveloperApi()
  75. val uid: String
    Definition Classes
    DataFrameOptimizer → Identifiable
  76. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  77. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  78. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  79. def write: MLWriter
    Definition Classes
    DefaultParamsWritable → MLWritable

Inherited from DefaultParamsWritable

Inherited from MLWritable

Inherited from Transformer

Inherited from PipelineStage

Inherited from Logging

Inherited from Params

Inherited from Serializable

Inherited from Serializable

Inherited from Identifiable

Inherited from AnyRef

Inherited from Any

Members