1.启动hive时采用 nohup hiveserver2 > 文件名 2>&1 & ,此种启动方式不会占用太多的shell窗口,直接将结果传入指定的文件中;
例如:
nohup hiveserver2 > log1.txt 2>&1 $
2.处理小数据集时,可以采用本地模式,提高效率:
set hive.exec.mode.local.auto=true
3.新版本的hive启动的时候,默认申请的jvm堆内存大小为256M,jvm堆内存申请的太小,导致后期开启本地模式,执行复杂的sql时经常会报错:java.lang.OutOfMemoryError: Java heap space,因此最好提前调整一下HADOOP_HEAPSIZE这个参数,将hive-env.sh其中的参数 export HADOOP_HEAPSIZE=1024的注释放开,
export HADOOP_HEAPSIZE=1024
然后重启hive。
4.几大注意事项 :
(1)SQL 语言大小写不敏感。
(2)SQL 可以写在一行或者多行
(3)关键字不能被缩写也不能分行
(4)各子句一般要分行写。
(5)使用缩进提高语句的可读性
5.hql执行顺序
from … where … group by … having … select … order by … 或
from … on … join … where … group by … having … select … distinct … order by … limit
存在开窗函数时,起码在order by之前执行;
本文介绍了如何优化Hive的启动方式,通过nohup命令将日志输出到文件,避免占用shell窗口。针对小数据集,启用本地模式以提升效率。此外,调整HADOOP_HEAPSIZE至1024M以防止内存溢出错误。注意,Hive SQL语句大小写不敏感,建议规范书写。执行顺序遵循from、where、group by等子句的逻辑。了解这些技巧能有效提升Hive操作的效率和稳定性。
1万+

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



