一百八十一、Hive——海豚调度HiveSQL任务时当Hive的计算引擎是mr或spark时脚本的区别(踩坑,附截图)

一、目的

当Hive的计算引擎是spark或mr时,发现海豚调度HQL任务的脚本并不同,mr更简洁

二、Hive的计算引擎是Spark时

(一)海豚调度脚本

#! /bin/bash

source /etc/profile

nowdate=`date --date='0 days ago' "+%Y%m%d"`

yesdate=`date -d yesterday +%Y-%m-%d`

hive -e "

use hurys_dc_dwd;

set hive.vectorized.execution.enabled=false;
set hive.auto.convert.join=false;
set mapreduce.map.memory.mb=10150;
set mapreduce.map.java.opts=-Xmx6144m;
set mapreduce.reduce.memory.mb=10150;
set mapreduce.reduce.java.opts=-Xmx8120m;
set hive.exec.dynamic.partition.mode=nonstrict;
set hive.exec.dynamic.partition=true;
set hive.exec.parallel=true;
set hive.support.concurrency=false;
set mapreduce.map.memory.mb=4128;
set hive.vectorized.execution.enabled=false;

set hive.exec.dynamic.partition=true;

set hive.exec.dynamic.partition.mode=nonstrict;

set hive.exec.max.dynamic.partitions.pernode=1000;

set hive.exec.max.dynamic.partitions=1500;

insert overwrite table dwd_evaluation partition(day='$yesdate')

select device_no,

cycle,

lane_num,

create_time,

lane_no,

volume,

queue_len_max,

sample_num,

stop_avg,

delay_avg,

stop_rate,

travel_dist,

travel_time_avg

from hurys_dc_ods.ods_evaluation

where volume is not null and date(create_time)= '$yesdate'

group by device_no, cycle, lane_num, create_time, lane_no,

volume, queue_len_max, sample_num, stop_avg, delay_avg, stop_rate, travel_dist, travel_time_avg

"

(二)任务流执行结果

调度执行成功,时间需要1m29s

三、Hive的计算引擎是MR时

(一)海豚调度脚本

#! /bin/bash

source /etc/profile

nowdate=`date --date='0 days ago' "+%Y%m%d"`

yesdate=`date -d yesterday +%Y-%m-%d`

hive -e "

use hurys_dc_dwd;

set hive.exec.dynamic.partition=true;

set hive.exec.dynamic.partition.mode=nonstrict;

set hive.exec.max.dynamic.partitions.pernode=1000;

set hive.exec.max.dynamic.partitions=1500;

insert overwrite table dwd_evaluation partition(day='$yesdate')

select device_no,

cycle,

lane_num,

create_time,

lane_no,

volume,

queue_len_max,

sample_num,

stop_avg,

delay_avg,

stop_rate,

travel_dist,

travel_time_avg

from hurys_dc_ods.ods_evaluation

where volume is not null and date(create_time)= '$yesdate'

group by device_no, cycle, lane_num, create_time, lane_no,

volume, queue_len_max, sample_num, stop_avg, delay_avg, stop_rate, travel_dist, travel_time_avg

"

(二)任务流执行结果

调度执行成功,时间需要1m3s

四、脚本区别

计算引擎为spark时,脚本比计算引擎为mr多,而且spark运行速度比mr慢

set hive.vectorized.execution.enabled=false;
set hive.auto.convert.join=false;
set mapreduce.map.memory.mb=10150;
set mapreduce.map.java.opts=-Xmx6144m;
set mapreduce.reduce.memory.mb=10150;
set mapreduce.reduce.java.opts=-Xmx8120m;
set hive.exec.dynamic.partition.mode=nonstrict;
set hive.exec.dynamic.partition=true;
set hive.exec.parallel=true;
set hive.support.concurrency=false;
set mapreduce.map.memory.mb=4128;
set hive.vectorized.execution.enabled=false;

mr为计算引擎时任务流脚本不能添加上面这些优化语句,不然会报错

在海豚调度HiveSQL任务流,推荐使用mr作为Hive的计算引擎。

不仅不需要安装spark,而且脚本简洁、任务执行速度快!

相关推荐
freejackman1 天前
【架构篇】双遍历 + 多栈协同:手撸 SQL 血缘引擎的架构思考
java·大数据·数据库·hive·sql·架构·spark
陈年老古董1 天前
ClickHouse 单机搭建记录
hive·笔记·学习·clickhouse·硬件架构
Gl�ria1 天前
Hadoop 速刷:HDFS / MR / YARN / Spark / Hive
hadoop·hdfs·mr
陈年老古董1 天前
Spark 3.1.3 集群搭建 + Spark-SQL 整合 Hive 记录
hive·sql·spark
FserSuN1 天前
Hive 分区表存储与查询优化学习总结
hive·hadoop·学习
乌恩大侠2 天前
「AI-RAN」Aerial,使用ORAN C1模式
人工智能·5g·spark·o-ru·ai-ran
测试盐2 天前
spark作业日志定位过程
java·hadoop·spark
IT研究室2 天前
最新大数据毕业设计选题推荐-基于大数据的Kaggle竞赛团队协作模式与效能可视化分析-大数据-Spark-Hadoop-Bigdata
大数据·spark·课程设计
步行cgn2 天前
为什么既要 web.xml 又要 springmvc.xml?能不能只配一个?
xml·前端·hive
@小匠3 天前
Flink + Iceberg 批量失败复盘:一次超时如何变成 Hive Metastore 锁泄漏
大数据·hive·flink