zoukankan      html  css  js  c++  java
  • 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中加载数据的结果就是移动文件或目录,因此,这个操作非常快。

  • 相关阅读:
    Linuxboot:linux as UEFI,linux over UEFI
    在阿里云上安装黑苹果的一种设想
    Dsm as deepin mate(3):离线编辑初始镜像,让skynas本地验证启动安装/升级
    硬件融合的新起点:虚拟firmware,avatt的编译(2)
    将虚拟机集成在BIOS和EFI层,vavvt的编译(1)
    2013.08.19—2013.08.23周总结
    关于自我介绍
    Java入门系列:实例讲解ArrayList用法
    Hadoop文件的基本操作
    继承关系的理解
  • 原文地址:https://www.cnblogs.com/cjsblog/p/8134623.html
Copyright © 2011-2022 走看看