The Hadoop in Real World team provides a quick example of a powerful feature in Apache Hive:
Lateral view is used in conjunction with user-defined table generating functions such as explode(). A UDTF generates zero or more output rows for each input row.
Click here if you like to know the difference between UDF, UDAF and UDTF
A lateral view first applies the UDTF to each row of the base table and then joins resulting output rows to the input rows to form a virtual table having the supplied table alias.
In other words, LATERAL
joins are the SQL standard for Microsoft’s CROSS APPLY
operator. I normally dislike having different names for the same thing due to the risk of confusion, but in fairness to Microsoft on this one, my recollection is that the common name came after SQL Server 2005, which already had CROSS APPLY
and OUTER APPLY
.