Packages

implicit class ColumnMethods extends AnyRef

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

Instance Constructors

  1. new ColumnMethods(col: Column)

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 chain(colMethod: (Column) ⇒ Column): Column

    Chains column functions //The chain method takes a org.apache.spark.sql.functions function as an argument and can be used as follows:

    Chains column functions //The chain method takes a org.apache.spark.sql.functions function as an argument and can be used as follows:

    val wordsDf = Seq(
      ("Batman  "),
      ("  CATWOMAN"),
      (" pikachu ")
    ).toDF("word")
    
    val actualDf = wordsDf.withColumn(
       "cleaned_word",
       col("word").chain(lower).chain(trim)
    )
    
    actualDf.show()
    +----------+------------+
    |      word|cleaned_word|
    +----------+------------+
    |  Batman  |      batman|
    |  CATWOMAN|    catwoman|
    |  pikachu |     pikachu|
    +----------+------------+
  6. def chainUDF(udfName: String, cols: Column*): Column

    Chains UDFs

    Chains UDFs

    def appendZ(s: String): String = {
      s + "Z"
    }
    
    spark.udf.register("appendZUdf", appendZ _)
    
    def prependA(s: String): String = {
      "A" + s
    }
    
    spark.udf.register("prependAUdf", prependA _)
    
    val hobbiesDf = Seq(
      ("dance"),
      ("sing")
    ).toDF("word")
    
    val actualDf = hobbiesDf.withColumn(
      "fun",
      col("word").chainUDF("appendZUdf").chainUDF("prependAUdf")
    )
    
    actualDf.show()
    +-----+-------+
    | word|    fun|
    +-----+-------+
    |dance|AdanceZ|
    | sing| AsingZ|
    +-----+-------+
  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native() @HotSpotIntrinsicCandidate()
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  10. def evalString(): String
  11. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  12. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  13. def isFalse: Column

    Returns true if the col is false Returns false if the current expression is false

  14. def isFalsy: Column

    Returns true if the col is false or null isFalsy returns true if a column is null or false and false otherwise.

    Returns true if the col is false or null isFalsy returns true if a column is null or false and false otherwise.

    Suppose you start with the following sourceDF:

    +------+
    |is_fun|
    +------+
    |  true|
    | false|
    |  null|
    +------+

    Run the isFalsy method:

    val actualDF = sourceDF.withColumn("is_fun_falsy", col("is_fun").isFalsy)

    Here are the contents of actualDF:

    +------+------------+
    |is_fun|is_fun_falsy|
    +------+------------+
    |  true|       false|
    | false|        true|
    |  null|        true|
    +------+------------+
  15. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  16. def isNotIn(list: Any*): Column

    Returns true if the col is not in a list of elements The isNotIn method returns true if a column element is not in a list and false otherwise.

    Returns true if the col is not in a list of elements The isNotIn method returns true if a column element is not in a list and false otherwise. It's the opposite of the isin method.

    Suppose you start with the following sourceDF:

    +-----+
    |stuff|
    +-----+
    |  dog|
    |shoes|
    |laces|
    | null|
    +-----+

    Run the isNotIn method:

    val footwearRelated = Seq("laces", "shoes")
    
    val actualDF = sourceDF.withColumn(
      "is_not_footwear_related",
      col("stuff").isNotIn(footwearRelated: _*)
    )

    Here are the contents of actualDF:

    +-----+-----------------------+
    |stuff|is_not_footwear_related|
    +-----+-----------------------+
    |  dog|                   true|
    |shoes|                  false|
    |laces|                  false|
    | null|                   null|
    +-----+-----------------------+
  17. def isNotNullOrBlank: Column

    Returns true if the col is not null or a blank string

    Returns true if the col is not null or a blank string

    The isNotNullOrBlank method returns true if a column is not null or blank and false otherwise. Suppose you start with the following sourceDF:

    +-------------+

    employee_name

    +-------------+

    John

    ""

    " "

    +-------------+

    Run the isNotNullOrBlank method:

    val actualDF = sourceDF.withColumn(
      "employee_name_is_not_null_or_blank",
      col("employee_name").isNotNullOrBlank
    )

    Here are the contents of actualDF:

    +-------------+----------------------------------+

    employee_name

    employee_name_is_not_null_or_blank

    +-------------+----------------------------------+

    John

    true

    ""

    false

    " "

    false

    +-------------+----------------------------------+

  18. def isNullOrBlank: Column

    Returns true if the col is null or a blank string The isNullOrBlank method returns true if a column is null or blank and false otherwise.

    Returns true if the col is null or a blank string The isNullOrBlank method returns true if a column is null or blank and false otherwise.

    Suppose you start with the following sourceDF:

    +-----------+
    |animal_type|
    +-----------+
    |        dog|
    |       null|
    |         ""|
    |     "    "|
    +-----------+

    Run the isNullOrBlank method:

    val actualDF = sourceDF.withColumn(
    "animal_type_is_null_or_blank",
    col("animal_type").isNullOrBlank
    )

    Here are the contents of actualDF:

    +-----------+----------------------------+
    |animal_type|animal_type_is_null_or_blank|
    +-----------+----------------------------+
    |        dog|                       false|
    |       null|                        true|
    |         ""|                        true|
    |     "    "|                        true|
    +-----------+----------------------------+
  19. def isTrue: Column

    Returns true if the current expression is true Returns false if the current expression is null

  20. def isTruthy: Column

    Returns true if the col is not false or null isTruthy returns false if a column is null or false and true otherwise.

    Returns true if the col is not false or null isTruthy returns false if a column is null or false and true otherwise.

    Suppose you start with the following sourceDF:

    +------+
    |is_fun|
    +------+
    |  true|
    | false|
    |  null|
    +------+

    Run the isTruthy method:

    val actualDF = sourceDF.withColumn("is_fun_truthy", col("is_fun").isTruthy)

    Here are the contents of actualDF:

    +------+-------------+
    |is_fun|is_fun_truthy|
    +------+-------------+
    |  true|         true|
    | false|        false|
    |  null|        false|
    +------+-------------+
  21. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  22. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  23. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  24. def nullBetween(lowerCol: Column, upperCol: Column): Column

    Like between, but geq when upper bound is null and leq when lower bound is null The built in between doesn't work well when one of the bounds is undefined.

    Like between, but geq when upper bound is null and leq when lower bound is null The built in between doesn't work well when one of the bounds is undefined. nullBetween is more useful when you have "less than or equal to" or "greater than or equal to" logic embedded in your upper and lower bounds. For example, if the lower bound is null and the upper bound is 15, nullBetween will interpret that as "all values below 15".

    Let's compare the between and nullBetween methods with a code snipped and the outputted DataFrame.

    val actualDF = sourceDF.withColumn(
      "between",
      col("age").between(col("lower_bound"), col("upper_bound"))
    ).withColumn(
      "nullBetween",
      col("age").nullBetween(col("lower_bound"), col("upper_bound"))
    )
    +-----------+-----------+---+-------+-----------+
    |lower_bound|upper_bound|age|between|nullBetween|
    +-----------+-----------+---+-------+-----------+
    |         10|         15| 11|   true|       true|
    |         17|       null| 94|   null|       true|
    |       null|         10|  5|   null|       true|
    +-----------+-----------+---+-------+-----------+
  25. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  26. def toString(): String
    Definition Classes
    AnyRef → Any
  27. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  28. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  29. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] ) @Deprecated
    Deprecated

Inherited from AnyRef

Inherited from Any

Expression operators

Support functions for DataFrames