shell命令执行hive脚本

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

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

方式一:CLI 方式直接执行

  1. 在终端直接输入hive进入CLI (客户端)

  2. 然后直接执行了例如:

    create database test;  	-- 创建数据库test
    use test; 				-- 使用test数据库
    exit; 					-- 退出客户端
    

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

  1. 编写脚本test.sh

  2. 写入内容: 查找test库中的student表的所有内容

    #!/bin/bash
    hive -e "select * from test.student"
    
  3. 加上可执行权限

    chmod +x test.sh
    
  4. 运行./test.sh (也可以用绝对路径)

    不加可执行权限可以用 bash test.sh 命令运行

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

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

  1. 将hql语句写入文件(将hql语句保存为独立文件,后缀名不限制,可以用.q或者.hql作为标识:)
    在这里插入图片描述

  2. hive -f执行文件

    hive -f mytest.hql
    
  3. 执行结果

    在这里插入图片描述

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

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

  1. 示例代码放入文件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 ..');
    
  2. 执行

    hplsql -f xxx.hql
    
  3. 执行结果

    在这里插入图片描述

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

  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值