INSERT INTO sxhb_getsxhbareasite SELECT
‘140400’,
pos.pos_y,
pos.pos_x,
cons.county_code,
cons.company_no,
cons.company_name,
CASE
WHEN cons.cons_type = 'important' THEN
'重点监测企业' ELSE '涉污企业'
END cons_type,
cons.category_name trade_name,
cons.county_name,
pd.powers day_powers,
avgs.fluctuate worth,
cons.is_control,
cons.cons_type,
data1.addr,
py.powers year_powers,
control_type,
alarm_type
FROM
(select company_no,max(elec_addr) addr from sx_company_pollute GROUP BY company_no ) data1,
sx_pollute cons,
sx_pos_network pos
LEFT JOIN view_sx_pollute_power_day pd ON pd.company_no = cons.company_no
LEFT JOIN view_sx_pollute_power_mon_avg avgs ON avgs.company_no = cons.company_no
LEFT JOIN sx_pollute__power_year py ON py.company_no =cons.conpany_no
WHERE
pos.company_no = cons.company_no and data1.company_no=cons.company_no and py.record_year = year(CURRENT_DATE)
这条语句在中台使用hive查询特别慢,该如何优化
针对一条在中台使用Hive进行的复杂查询语句,该查询涉及多个表连接和聚合操作,导致执行速度慢。优化建议包括:1) 分析表的分区策略,确保查询只扫描必要的分区;2) 使用Bucketing和Sorting来提高JOIN效率;3) 对频繁查询的字段创建索引;4) 考虑数据倾斜问题,调整JOIN策略;5) 评估是否能将部分计算下推到数据源或使用Spark等更高效的计算引擎。
1万+

被折叠的 条评论
为什么被折叠?



