cast ((calc_dist( c1.lon, c1.lat, c2.lon, c2.lat).value)/1000 as int) as distance,
a.create_time, a.truck_user_id from
(select start as start_city, \`end\` as end_city,
truck_user_id, create_time from ods_logistics.orders) a
join
dw_info.dim_users b on a.truck_user_id=b.user_id
left outer join dw.dim_city dc1 on a.start_city=
dc1.id
left outer join dw.dim_city dc2 on a.end_city=
dc2.id
left outer join ods_logistics.city c1 on a.start_city=
c1.id
left outer join ods_logistics.city c2 on a.end_city=
c2.id where b.truck_no is not null and b.truck_no <> '' and dc1.city_short<>dc2.city_short order by a.
truck_user_id desc limit 200000
在使用hiveserver2查询时(比如HUE,或者beeline连10000端口),会遇到这样的问题,where语句后如果使用了between,则between的两个值必须不一样,否则在hiveserver2中是查不出数据的,如果值一样的时候,直接用“=”。例如: where date between 20160425 and 20160425 (hiveserver2 not OK,