• Hive 中数据仓库默认位置配置及库表关系


    1、原始位置的默认配置

    hive中的Default(默认)数据仓库的最原始位置是在hdfs上的 /user/hive/warehouse(以下默认Hive的HDFS根目录为/user/hive)路径下,这个原始位置是本地的/usr/local/hive/conf/hive-default.xml.template文件默认配置的,

    2、库表关系

    1)默认情况下:

    在hdfs目录下,没有对默认的数据库default创建文件夹。如果某张表属于default数据库,直接在数据仓库目录下创建一个文件夹。

    下图中abc,bonus,department,dept,emp为缺省库default下的几张表,目录名与表名一致。

    2)指定库情况下

      如果创建了数据库,并指定表为该库下的表,Hive会在/user/hive/warehouse/下创建一个以库名命名的目录(如上图的a.db,b.db分别代表数据库a,b),该库的表目录在库目录下。

    3)制定分区的情况下:

     如果为表设定了分区,则会在表目录下增加分区目录,目录名以“分区键名=分区值”的形式命名。如下图,表dept1中,设置了v1和v2两个名为a的分区。

    3、修改数据仓库的原始位置只需在hive-site.xml自定义配置文件中设置如下信息即可:

    <property>
    <name>hive.metastore.warehouse.dir</name>
    <value>目录</value>
    <description>location of default database for the warehouse</description>
    </property>
    需要为该目录配置同组可写:

    hdfs dfs -chmod g+w 目录
    ,另外也可以顺便在这个自定义配置文件中设置如下参数

     <property>
       <name>hive.cli.print.header</name>
       <value>true</value>
     </property> 
     <property>
       <name>hive.cli.print.current.db</name>
       <value>true</value>
     </property>
    这样每次select返回结果信息就会显示有表头字段名了。

    转载:https://blog.csdn.net/qq_39954916/article/details/105197541?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~all~sobaiduend~default-1-105197541.nonecase&utm_term=hive%20warehouse%E9%85%8D%E7%BD%AE&spm=1000.2123.3001.4430

  • 相关阅读:
    快速架设OpenStack云基础平台
    源码编译安装Nginx全程视频演示
    参加2012 Openstack亚太技术大会
    FFmpeg的安装与使用
    Linux下图解minicom安装
    [转]ARM/Thumb2PortingHowto
    [原]逆向iOS SDK -- _UIImageAtPath 的实现(SDK 6.1)
    [原]逆向iOS SDK -- +[UIImage imageNamed:] 的实现
    在 Emacs 中如何退出 Slime Mode
    [转] iOS ABI Function Call Guide
  • 原文地址:https://www.cnblogs.com/LEPENGYANG/p/13967205.html
Copyright © 2020-2023  润新知