trait Row extends Serializable
Represents one row of output from a relational operator. Allows both generic access by ordinal, which will incur boxing overhead for primitives, as well as native primitive access.
It is invalid to use the native primitive interface to retrieve a value that is null, instead a
user must check isNullAt before attempting to retrieve a value that might be null.
To create a new Row, use RowFactory.create() in Java or Row.apply() in Scala.
A Row object can be constructed by providing field values. Example:
import org.apache.spark.sql._ // Create a Row from values. Row(value1, value2, value3, ...) // Create a Row from a Seq of values. Row.fromSeq(Seq(value1, value2, ...))
A value of a row can be accessed through both generic access by ordinal, which will incur boxing overhead for primitives, as well as native primitive access. An example of generic access by ordinal:
import org.apache.spark.sql._ val row = Row(1, true, "a string", null) // row: Row = [1,true,a string,null] val firstValue = row(0) // firstValue: Any = 1 val fourthValue = row(3) // fourthValue: Any = null
For native primitive access, it is invalid to use the native primitive interface to retrieve
a value that is null, instead a user must check isNullAt before attempting to retrieve a
value that might be null.
An example of native primitive access:
// using the row from the previous example. val firstValue = row.getInt(0) // firstValue: Int = 1 val isNull = row.isNullAt(3) // isNull: Boolean = true
In Scala, fields in a Row object can be extracted in a pattern match. Example:
import org.apache.spark.sql._ val pairs = sql("SELECT key, value FROM src").rdd.map { case Row(key: Int, value: String) => key -> value }
- Annotations
- @Stable()
- Since
- 1.3.0 
- Alphabetic
- By Inheritance
- Row
- Serializable
- Serializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Abstract Value Members
- 
      
      
      
        
      
    
      
        abstract 
        def
      
      
        copy(): Row
      
      
      Make a copy of the current Row object. 
- 
      
      
      
        
      
    
      
        abstract 
        def
      
      
        get(i: Int): Any
      
      
      Returns the value at position i. Returns the value at position i. If the value is null, null is returned. The following is a mapping between Spark SQL types and return types: BooleanType -> java.lang.Boolean ByteType -> java.lang.Byte ShortType -> java.lang.Short IntegerType -> java.lang.Integer FloatType -> java.lang.Float DoubleType -> java.lang.Double StringType -> String DecimalType -> java.math.BigDecimal DateType -> java.sql.Date TimestampType -> java.sql.Timestamp BinaryType -> byte array ArrayType -> scala.collection.Seq (use getList for java.util.List) MapType -> scala.collection.Map (use getJavaMap for java.util.Map) StructType -> org.apache.spark.sql.Row 
- 
      
      
      
        
      
    
      
        abstract 
        def
      
      
        length: Int
      
      
      Number of elements in the Row. 
Concrete 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
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        anyNull: Boolean
      
      
      Returns true if there are any NULL values in this row. 
- 
      
      
      
        
      
    
      
        
        def
      
      
        apply(i: Int): Any
      
      
      Returns the value at position i. Returns the value at position i. If the value is null, null is returned. The following is a mapping between Spark SQL types and return types: BooleanType -> java.lang.Boolean ByteType -> java.lang.Byte ShortType -> java.lang.Short IntegerType -> java.lang.Integer FloatType -> java.lang.Float DoubleType -> java.lang.Double StringType -> String DecimalType -> java.math.BigDecimal DateType -> java.sql.Date TimestampType -> java.sql.Timestamp BinaryType -> byte array ArrayType -> scala.collection.Seq (use getList for java.util.List) MapType -> scala.collection.Map (use getJavaMap for java.util.Map) StructType -> org.apache.spark.sql.Row 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        asInstanceOf[T0]: T0
      
      
      - Definition Classes
- Any
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        clone(): AnyRef
      
      
      - Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        eq(arg0: AnyRef): Boolean
      
      
      - Definition Classes
- AnyRef
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        equals(o: Any): Boolean
      
      
      - Definition Classes
- Row → AnyRef → Any
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        fieldIndex(name: String): Int
      
      
      Returns the index of a given field name. Returns the index of a given field name. - Exceptions thrown
- IllegalArgumentExceptionwhen a field- namedoes not exist.- UnsupportedOperationExceptionwhen schema is not defined.
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        finalize(): Unit
      
      
      - Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        getAs[T](fieldName: String): T
      
      
      Returns the value of a given fieldName. Returns the value of a given fieldName. For primitive types if value is null it returns 'zero value' specific for primitive ie. 0 for Int - use isNullAt to ensure that value is not null - Exceptions thrown
- ClassCastExceptionwhen data type does not match.- IllegalArgumentExceptionwhen fieldName do not exist.- UnsupportedOperationExceptionwhen schema is not defined.
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        getAs[T](i: Int): T
      
      
      Returns the value at position i. Returns the value at position i. For primitive types if value is null it returns 'zero value' specific for primitive ie. 0 for Int - use isNullAt to ensure that value is not null - Exceptions thrown
- ClassCastExceptionwhen data type does not match.
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        getBoolean(i: Int): Boolean
      
      
      Returns the value at position i as a primitive boolean. Returns the value at position i as a primitive boolean. - Exceptions thrown
- ClassCastExceptionwhen data type does not match.- NullPointerExceptionwhen value is null.
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        getByte(i: Int): Byte
      
      
      Returns the value at position i as a primitive byte. Returns the value at position i as a primitive byte. - Exceptions thrown
- ClassCastExceptionwhen data type does not match.- NullPointerExceptionwhen value is null.
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        getClass(): Class[_]
      
      
      - Definition Classes
- AnyRef → Any
- Annotations
- @native()
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        getDate(i: Int): Date
      
      
      Returns the value at position i of date type as java.sql.Date. Returns the value at position i of date type as java.sql.Date. - Exceptions thrown
- ClassCastExceptionwhen data type does not match.
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        getDecimal(i: Int): BigDecimal
      
      
      Returns the value at position i of decimal type as java.math.BigDecimal. Returns the value at position i of decimal type as java.math.BigDecimal. - Exceptions thrown
- ClassCastExceptionwhen data type does not match.
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        getDouble(i: Int): Double
      
      
      Returns the value at position i as a primitive double. Returns the value at position i as a primitive double. - Exceptions thrown
- ClassCastExceptionwhen data type does not match.- NullPointerExceptionwhen value is null.
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        getFloat(i: Int): Float
      
      
      Returns the value at position i as a primitive float. Returns the value at position i as a primitive float. Throws an exception if the type mismatches or if the value is null. - Exceptions thrown
- ClassCastExceptionwhen data type does not match.- NullPointerExceptionwhen value is null.
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        getInt(i: Int): Int
      
      
      Returns the value at position i as a primitive int. Returns the value at position i as a primitive int. - Exceptions thrown
- ClassCastExceptionwhen data type does not match.- NullPointerExceptionwhen value is null.
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        getJavaMap[K, V](i: Int): Map[K, V]
      
      
      Returns the value at position i of array type as a java.util.Map.Returns the value at position i of array type as a java.util.Map.- Exceptions thrown
- ClassCastExceptionwhen data type does not match.
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        getList[T](i: Int): List[T]
      
      
      Returns the value at position i of array type as java.util.List.Returns the value at position i of array type as java.util.List.- Exceptions thrown
- ClassCastExceptionwhen data type does not match.
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        getLong(i: Int): Long
      
      
      Returns the value at position i as a primitive long. Returns the value at position i as a primitive long. - Exceptions thrown
- ClassCastExceptionwhen data type does not match.- NullPointerExceptionwhen value is null.
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        getMap[K, V](i: Int): Map[K, V]
      
      
      Returns the value at position i of map type as a Scala Map. Returns the value at position i of map type as a Scala Map. - Exceptions thrown
- ClassCastExceptionwhen data type does not match.
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        getSeq[T](i: Int): Seq[T]
      
      
      Returns the value at position i of array type as a Scala Seq. Returns the value at position i of array type as a Scala Seq. - Exceptions thrown
- ClassCastExceptionwhen data type does not match.
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        getShort(i: Int): Short
      
      
      Returns the value at position i as a primitive short. Returns the value at position i as a primitive short. - Exceptions thrown
- ClassCastExceptionwhen data type does not match.- NullPointerExceptionwhen value is null.
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        getString(i: Int): String
      
      
      Returns the value at position i as a String object. Returns the value at position i as a String object. - Exceptions thrown
- ClassCastExceptionwhen data type does not match.
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        getStruct(i: Int): Row
      
      
      Returns the value at position i of struct type as a Row object. Returns the value at position i of struct type as a Row object. - Exceptions thrown
- ClassCastExceptionwhen data type does not match.
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        getTimestamp(i: Int): Timestamp
      
      
      Returns the value at position i of date type as java.sql.Timestamp. Returns the value at position i of date type as java.sql.Timestamp. - Exceptions thrown
- ClassCastExceptionwhen data type does not match.
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        getValuesMap[T](fieldNames: Seq[String]): Map[String, T]
      
      
      Returns a Map consisting of names and values for the requested fieldNames For primitive types if value is null it returns 'zero value' specific for primitive ie. Returns a Map consisting of names and values for the requested fieldNames For primitive types if value is null it returns 'zero value' specific for primitive ie. 0 for Int - use isNullAt to ensure that value is not null - Exceptions thrown
- ClassCastExceptionwhen data type does not match.- IllegalArgumentExceptionwhen fieldName do not exist.- UnsupportedOperationExceptionwhen schema is not defined.
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        hashCode(): Int
      
      
      - Definition Classes
- Row → AnyRef → Any
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        isInstanceOf[T0]: Boolean
      
      
      - Definition Classes
- Any
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        isNullAt(i: Int): Boolean
      
      
      Checks whether the value at position i is null. 
- 
      
      
      
        
      
    
      
        
        def
      
      
        mkString(start: String, sep: String, end: String): String
      
      
      Displays all elements of this traversable or iterator in a string using start, end, and separator strings. 
- 
      
      
      
        
      
    
      
        
        def
      
      
        mkString(sep: String): String
      
      
      Displays all elements of this sequence in a string using a separator string. 
- 
      
      
      
        
      
    
      
        
        def
      
      
        mkString: String
      
      
      Displays all elements of this sequence in a string (without a separator). 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        ne(arg0: AnyRef): Boolean
      
      
      - Definition Classes
- AnyRef
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        notify(): Unit
      
      
      - Definition Classes
- AnyRef
- Annotations
- @native()
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        notifyAll(): Unit
      
      
      - Definition Classes
- AnyRef
- Annotations
- @native()
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        schema: StructType
      
      
      Schema for the row. 
- 
      
      
      
        
      
    
      
        
        def
      
      
        size: Int
      
      
      Number of elements in the Row. 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        synchronized[T0](arg0: ⇒ T0): T0
      
      
      - Definition Classes
- AnyRef
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        toSeq: Seq[Any]
      
      
      Return a Scala Seq representing the row. Return a Scala Seq representing the row. Elements are placed in the same order in the Seq. 
- 
      
      
      
        
      
    
      
        
        def
      
      
        toString(): String
      
      
      - Definition Classes
- Row → AnyRef → Any
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        wait(): Unit
      
      
      - Definition Classes
- AnyRef
- Annotations
- @throws( ... )
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        wait(arg0: Long, arg1: Int): Unit
      
      
      - Definition Classes
- AnyRef
- Annotations
- @throws( ... )
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        wait(arg0: Long): Unit
      
      
      - Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )