在 Hive 中“跑脚本”通常指执行 HQL 脚本文件(.sql / .hql)。下面按常见场景给你总结几种方式。
hive
进入交互界面后:
source /path/to/script.hql;
hive -f /path/to/script.hql
hive -e "select count(*) from table_name;"
Beeline 是 HiveServer2 的客户端,建议在集群中使用。
beeline -u jdbc:hive2://host:10000/default \
-n username \
-p password \
-f /path/to/script.hql
或单条执行:
beeline -u jdbc:hive2://host:10000 -e "select 1;"
script.hql 示例:
USE db_name;
SET hive.exec.dynamic.partition=true;
SET hive.exec.dynamic.partition.mode=nonstrict;
INSERT OVERWRITE TABLE target_table
SELECT * FROM source_table;
执行:
hive -f script.hql
#!/bin/bash
hive -f /path/to/script.hql >> /log/hive.log 2>&1
可结合:
✅ 脚本路径要绝对路径或相对当前目录
✅ 权限问题:对 HDFS / 数据库有操作权限
✅ 分区表注意 dynamic partition 设置
✅ 大数据量任务建议用 Beeline + HiveServer2
✅ 错误日志查看:
cat /tmp/<user>/hive.log
hive -fbeeline -f如果你有:
我可以给你更具体的执行方式。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。