zoukankan      html  css  js  c++  java
  • Hive参数的临时设置和永久性设置

    Hive中有一些参数是系统给提供给用户的,我们可以通过这些参数的设置可以让Hive在不同的模式下工作,或者改变显示的效果。

    1.通过set对参数值进行设定,这种设置只能是在本次会话有效,退出Hive就会失效;

    hive (default)> set hive.exec.dynamic.partition.mode=nostrict;
    hive (default)> INSERT OVERWRITE TABLE emp
    > PARTITION(province,city)
    > SELECT name,salary,subordinates,deductions,address,province,city
    > FROM jimdb.employees;
    Query ID = hadoop_20180617101852_4cbca9ef-db37-4910-9061-058142bde778
    Total jobs = 3
    ........

    .........
    Partition default.emp{province=taiwan, city=taibei} stats: [numFiles=1, numRows=21504, totalSize=1843968, rawDataSize=1822464]
    Partition default.emp{province=zhejiang, city=hangzhou} stats: [numFiles=1, numRows=21504, totalSize=1929982, rawDataSize=1908478]
    MapReduce Jobs Launched:
    Stage-Stage-1: HDFS Read: 72254860 HDFS Write: 74253520 SUCCESS
    Total MapReduce CPU Time Spent: 0 msec
    OK
    name salary subordinates deductions address province city
    Time taken: 10.881 seconds

    2. 如果希望永久性的对参数进行设置,那就需要将相关的参数在$HIVE_HOME/conf/hive-site.xml中进行设置

    比如我需要设置打开动态分区,并且动态分区模式为strict

    <property>
    <name>hive.exec.dynamic.partition</name>
    <value>true</value>
    <description>Whether or not to allow dynamic partitions in DML/DDL.</description>
    </property>
    <property>
    <name>hive.exec.dynamic.partition.mode</name>
    <value>strict</value>
    <description>
    In strict mode, the user must specify at least one static partition
    in case the user accidentally overwrites all partitions.
    In nonstrict mode all partitions are allowed to be dynamic.
    </description>
    </property>

    在Hive中,进入Hive环境后,Hive有一个默认的库default,用户可以创建新的库名,可以使用CREATE DATABASE XX; 

    也可以通过select语句查询表数据,但是在默认情况下,Hive无法显示当前到底是处于 哪个库中,虽然可以通过use 库名称进行库的切换,但是也造成了一些不便。

    在查询表时,CLI命令行默认是无法显示列名称的,只是显示了数据。这对用户就造成了一些麻烦。

    因此可以在$HIVE_HOME/conf/hive-site.xml中进行设置:

    <property>
    <name>hive.cli.print.current.db</name>
    <value>true</value>
    <description>Whether to include the current database in the Hive prompt.</description>
    </property>

    <property>
    <name>hive.cli.print.header</name>
    <value>true</value>
    <description>Whether to print the names of the columns in query output.</description>
    </property>

  • 相关阅读:
    Learn D3 入门文档:Interaction
    获取和设置浏览器缩放比
    PC禁止浏览器缩放
    CSS实用技巧(中)
    vsCode设置Bash启动 最新版本1.60默认终端配置修改
    SpringBoot集成itextpdf动态生成pdf并展示
    SpringBoot集成markdown实现文档管理
    SpringBoot实现用户统一管理与单点登陆
    采用Angular + NG-ZORRO + Ng Alain 框架搭建的 MES前端框架
    node调试
  • 原文地址:https://www.cnblogs.com/nanshanjushi/p/9192244.html
Copyright © 2011-2022 走看看