• Hive Getting Started补充


    配置管理概述

    • Hive从<install-dir>/conf/hive-default.xml中读取它的默认配置
    • Hive配置目录的位置可以通过设置HIVE_CONF_DIR环境变量的值来改变
    • 配置变量可以被改变,通过<install-dir>/conf/hive-site.xml中重新定义(PS:意思就是可以hive-site.xml中的配置项可以覆盖hive-default.xml中同名的配置)
    • Log4j配置存储在<install-dir>/conf/hive-log4j.properties
    • Hive配置默认继承Hadoop配置变量
    • 在hive-site.xml中可以定义任何你需要的配置变量,包括hadoop中的配置变量也是可以定义在这里面的

    Hive日志

    Hive用log4j记录日志,默认情况下通过命令行操作的日志会输出到控制台。默认的日志级别是INFO。

    日志文件存放的目录是/tmp/<user.name>:

    • /tmp/<user.name>/hive.log

    通过在$HIVE_HOME/conf/hive-log4j.properties中设置hive.log.dir可以改变日志存放的目录,务必确保该目录的权限是1777

    DDL操作

    创建Hive表

    创建一个表,名字叫做pokes,它有两列,第一列是integer类型,第二列是string类型

    创建一个表,名字叫invites。它有两个列和一个名字叫ds的分区列。这个分区列是一个虚的列,它不是表数据的的一部分,它在将一个特别的数据集加载到分区的时候很有用。

    DML操作

    加载一个文件到pokes表,这个文件有两列,列用ctrl-a分隔。'LOCAL'表示输入文件在本地文件系统,如果'LOCAL'被省略的话,将从HDFS中查找文件。

    关键'OVERWRITE'表示如何表中存在数据则会被删除。如果'OVERWRITE'关键字被省略,那么数据文件则会被追加到已有的数据后面。

    注意:

    • 通过加装命令加装数据的时候不会验证数据是否违背schema
    • 如果文件在HDFS中,那么将被移动到Hive所控制的命名空间中
    • Hive数据的根目录是在hive-default.xml中hive.metastore.warehouse.dir指定的

    上面的两条加载语句分别加载数据到invites表的不同分区中。表invites在创建的时候必须被分区,并且分区的名字叫ds。

    上面这条命令从HDFS中加载数据到表中。

    注意,从HDFS中加载数据的结果就是移动文件或目录,因此,这个操作非常快。

  • 相关阅读:
    nginx设置屏蔽,可访问id的方法
    python实现rcp远程调用介绍
    0.0.0.0
    datetime 模块详解 -- 基本的日期和时间类型
    python函数——形参中的:*args和**kwargs
    时间加一天,一个小时得到新的时间
    good blog
    Python-第三方库requests详解
    python requests的content和text方法的区别
    MyEclipse使用总结——设置MyEclipse开发项目时使用的JDK
  • 原文地址:https://www.cnblogs.com/cjsblog/p/8134623.html
Copyright © 2020-2023  润新知