一百八十一、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,而且脚本简洁、任务执行速度快!

相关推荐
蓝眸少年CY13 小时前
Hive - 函数、压缩与优化
数据仓库·hive·hadoop
talen_hx29620 小时前
《零基础入门Spark》学习笔记 Day 06
笔记·学习·spark
D愿你归来仍是少年20 小时前
Apache Spark 第 8 章:Structured Streaming 流处理
大数据·spark·apache
hf2000122 天前
零成本迁移,原地加速,成本降低60%:火花思维基于云器Lakehouse升级实践
大数据·分布式·spark·lakehouse
talen_hx2962 天前
《零基础入门Spark》学习笔记 Day 04
大数据·笔记·学习·spark
D愿你归来仍是少年2 天前
Apache Spark 详细讲解第 7 章:Shuffle 机制深度解析
大数据·spark·apache
Code知行合壹3 天前
Spark使用总结
大数据·分布式·spark
zhojiew3 天前
[INFRA] EMR集群中Hive和Spark集成Glue Data Catalog过程的深入分析
hive·hadoop·spark·aws·bigdata
bukeyiwanshui3 天前
Hive的使用
数据仓库·hive·hadoop
添柴少年yyds4 天前
hive锁机制
数据仓库·hive·hadoop