Aggregate function: returns the first value in a group.
The function by default returns the first values it sees. It will return the first non-null
value it sees when ignoreNulls is set to true. If all values are null, then null is returned.
New in version 1.3.0.
The function is non-deterministic because its results depends on the order of the
rows which may be non-deterministic after a shuffle.