我有一个配置单元表,其中tripid的数据加载为tripid、gps位置\u 1、gps位置\u 2位置,一次旅行可能有10个gps位置,另一次旅行可能有500个gps位置,当我查询数据时,结果如下
从trip中选择tripid、size(gps)作为计数;
tripid gps|U location|U 1 | gps|U location|U 2 |计数|
1451f2b3d | 44.1145 | 44.1148 | 9|
选择tripid、gps.gps\u location\u 1、gps.gps\u location\u 1作为trip的计数;
+---------+
7条答案
按热度按时间pu3pd22g1#
--------+1451f2b3d |[44.1145,44.1146,44.1147,44.1148,44.1148,44.1129,44.1127,44.1121]|[44.1148,44.1146,44.1146,44.1141,44.1138,44.1129,44.1127]| 9 | +---------+
30byixjq2#
--------+
tripid | gps |位置| 1 | gps |位置| 2 |计数|
+---------+
wz3gfoph3#
使用
lateral view explode
:f45qwnt84#
--------+
我可以从trip数组表中看到第一个值。
从trip中选择tripid,gps[0].gps\u location\u 1,gps[0].gps\u location\u 1;
tripid gps\位置\u 1 gps\位置\u 2
1451f2b3d 44.1145 44.1148美元
trip数组表的第二行
从trip中选择tripid,gps[1].gps\u location\u 1,gps[1].gps\u location\u 1;
tripid gps\位置\u 1 gps\位置\u 2
1451f2b3d 44.1146 44.1146
trip数组表的最后一行
从trip中选择tripid、gps[大小(gps)].gps\位置\ 1、gps[大小(gps)].gps\位置\ 1;
1451f2b3d 44.1121 44.1127美元
我需要像这样将每一行存储在新的target\u trip表中,循环遍历trip表中一个tripid的所有行,并插入如下所示的target\u表中。
我怎样才能做到呢?
tripid gps\位置\u 1 gps\位置\u 2
1451f2b3d 44.1145 44.1148美元
1451f2b3d 44.1146 44.1146
1451f2b3d 44.1147 44.1146
1451f2b3d 44.1148 44.1141
1451f2b3d 44.1129 44.1138美元
1451f2b3d 44.1127 44.1129美元
1451f2b3d 44.1121 44.1127美元
h43kikqp5#
-+
daolsyd06#
------+
6rvt4ljy7#
---------+