Hive的hql命令的四种执行方式

CLI 方式直接执行作为字符串通过shell调用hive –e执行通过shell调用 hive –f或hive –i执行执行作为独立文件,通过shell调用hplsql -f

方式一:CLI 方式直接执行

在终端直接输入hive进入CLI (客户端) 然后直接执行了例如: create database test; -- 创建数据库test

use test; -- 使用test数据库

exit; -- 退出客户端

方式二:作为字符串通过shell调用hive –e执行

编写脚本test.sh 写入内容: 查找test库中的student表的所有内容 #!/bin/bash

hive -e "select * from test.student"

加上可执行权限 chmod +x test.sh

运行./test.sh (也可以用绝对路径) 不加可执行权限可以用 bash test.sh 命令运行

方式三:通过shell调用 hive –f或hive –i执行执行

hive -f 通常用于执行包含 Hive 查询语句的脚本文件,而 hive -i 可能用于在启动 Hive 会话之前执行一些初始化脚本。

将hql语句写入文件(将hql语句保存为独立文件,后缀名不限制,可以用.q或者.hql作为标识:) hive -f执行文件 hive -f mytest.hql

执行结果 这个文件在cli模式下,用source命令执行,如:source ./mytest.hql

方式四:通过shell调用hplsql -f

示例代码放入文件test.hql -- 创建存储过程 set_message,接受一个输入参数 arg

CREATE PROCEDURE set_message(IN arg STRING)

BEGIN

-- 在存储过程内部设置一个变量 result,包含固定的欢迎消息

SET result = 'Hello, leaf-domain的大数据田地!';

-- 打印输入参数 arg

PRINT arg;

-- 打印组合的消息,包括存储过程内部变量 result 和输入参数 arg

PRINT result || ', ' || arg;

END;

-- 打印初始欢迎消息

PRINT 'Hello, leaf-domain! at beginning .. ';

-- 调用存储过程 set_message,传递参数 ' by CALL ..'

CALL set_message(' by CALL ..');

执行 hplsql -f xxx.hql

执行结果

参考: hive之hplsql学习_hpl/sql使用文档-CSDN博客

参考链接

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。