trait
AlignmentStrategy extends AnyRef
Abstract Value Members
-
abstract
def
create(targetSchema: StructType): RowAligner
Concrete Value Members
-
final
def
!=(arg0: AnyRef): Boolean
-
final
def
!=(arg0: Any): Boolean
-
final
def
##(): Int
-
final
def
==(arg0: AnyRef): Boolean
-
final
def
==(arg0: Any): Boolean
-
final
def
asInstanceOf[T0]: T0
-
def
clone(): AnyRef
-
final
def
eq(arg0: AnyRef): Boolean
-
def
equals(arg0: Any): Boolean
-
def
finalize(): Unit
-
final
def
getClass(): Class[_]
-
def
hashCode(): Int
-
final
def
isInstanceOf[T0]: Boolean
-
final
def
ne(arg0: AnyRef): Boolean
-
final
def
notify(): Unit
-
final
def
notifyAll(): Unit
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
-
def
toString(): String
-
final
def
wait(): Unit
-
final
def
wait(arg0: Long, arg1: Int): Unit
-
final
def
wait(arg0: Long): Unit
Inherited from AnyRef
Inherited from Any
An alignment strategy will accept an input Row and return an output Row that is compatible with the target schema. This allows writing to sinks whereby the output schema is not the same as the input schema.
For example, the input may come from a JDBC table, and an output Hive table only defines a subset of the columns. Each row would need to be aligned so that it matches the subset schema.
Implementations are free to add values, drop values or throw an exception if they wish.