例如:当前表格
employee_id employee_name location_1 location_2 location_3
111 Reeta Delhi
112 Pinky Chennai Kerala Null
113 Tinku Noida Ranchi Jaipur
114 Teena Null
115 Bing Assam Assam
所需表格:
employee_id employee_name Location
111 Delhi
112 Pinky Chennai
112 Pinky Kerala
113 Tinku Noida
113 Tinku Ranchi
113 Tinku Jaipur
115 Bing Assam
1.将目标表2中的列转换为行时,应忽略位置列上的空值。位置为空值的雇员id和姓名不应带到目标表中。3.当employee\u id和employee\u name作为重复值时,只应将一个值带到目标表中
2条答案
按热度按时间cbwuti441#
一个简单的选项使用
union all
:使用Map和
lateral view explode
可能更有效:nhaq1z212#
可能最简单的方法就是
union all
. 但这需要扫描表多次。因此,取而代之的是: