在.hql文件中退出配置单元查询的状态

时间:2018-03-13 10:39:20

标签: shell hive hiveql

我在hive_queries.hql中有多个配置单元查询。我想保留一个日志来跟踪各个查询的退出状态。如果可能的话,我想更改单个查询以获取数据,例如我想更改查询

"select * from ABC" 

"load data local inpath '<path>/<folder_name>' select * from ABC"

1 个答案:

答案 0 :(得分:1)

  

我想保留日志跟踪单个查询的退出状态

据我所知,没有标准方法可以跟踪通过.hql文件运行的各个查询的退出状态。你可以做什么:

  1. 以hive表格式输出数据。
  2. 检查仓库位置/输出位置的_SUCCESS文件(如果是外部表格或使用INSERT OVERWRITE)以确定是否失败。
  3.   

    我想更改单个查询以获取I等数据   想要将查询“select * from ABC”更改为“加载本地数据”   inpath'/'select * from ABC“

    有一个技巧可以使用hiveconf来实现这一目标。

    编写您的查询,如

    `${hiveconf:start_tag}`
    select * from ABC
    

    通过这种方式,基本上您在脚本中创建一个占位符,可以在运行时替换它。 E.g。

    如果您执行脚本

    hive -hiveconf start_tag= -f my_script.hql
    

    然后您的查询将以

    执行
    select * from ABC
    

    如果您执行脚本

    hive -hiveconf start_tag="load data local inpath '<path>/<folder_name>'" -f my_script.hql
    

    然后您的查询将以

    执行
    load data local inpath '<path>/<folder_name>'
    select * from ABC