高效使用hive

工作中常常使用hive。熟练使用hvie的配置參数能够更加高效的使用Hive

Hive option:

        hive -f   script.hql : 从文件script.hql中的读取hql运行

        hive -e 'select * from xxx': 启动hive时指定运行的hql。此种方式hql会先经过shell解释。然后再用hive运行,因此须要注意hql中被shell转义的字符

        hive -S :安静模式运行hql,这样标准输出中仅仅有hql运行的结果,没有进度等信息,便于对结果进行过滤

        hive -i  .hiverc  :指定启动的hiverc文件

        hive --help:显示帮助信息

        hive --serverice:启动hive service,可用的service: beeline cli help hiveserver2 hiveserver hwi jar lineage metastool rcfilecat

        hive --service service_name --help: 显示hive service的帮助信息

        hive --define/-d/--hivevar:命令行传递hive变量

 Hive set  var Option:

        可用在hive命令行中查看hive配置參数和全部的变量,hive中的变量有不同的命名空间和訪问权限:

        hivevar:可读/可写:用户自己定义变量

        hiveconf: 可读/可写:hive想配置属性

        system: 可读/可写:Java定义配置属性

        env: 仅仅可读: Shell环境变量

       set; 显示hiveconf, hivevar,env,system中变量

       set hivevar/env/system:var_name 显示详细某一个空间中的某个变量

      set -v : 显示全部变量。包含hadoop相关配置

经常使用hive配置:

       set hive.cli.print.header=true; 输出列名

       set hive.cli.print.current.db=true; 输出current db

        set hive.mapred.mode=nostrict; 使用nostrict模式,同意order by 而不limit

        set hive.exec.mode.local.auto=true; 尽量以高效地本地模式运行hql


 hive  ql 凝视:  --command

 hive运行hdfs cmd: dfs command, 类似hadoop fs command

 hive运行shell:!shell_cmd

  hive 历史命令:.hivehistory

  hive默认配置: hivedefault.xml.template

  hive log配置:hive-log4j.properties, 更改hive.root.logger=DEBUG, console可将调试信息输出到console 


原文地址:https://www.cnblogs.com/yutingliuyl/p/6884283.html