zoukankan      html  css  js  c++  java
  • Hive架构(数据库和表)?

    1.Hive在HDFS上的默认存储路径
    Hive的数据都是存储在HDFS上的,默认有一个根目录,在hive-site.xml中,由参数hive.metastore.warehouse.dir指定。默认值为/user/hive/warehouse.
    2. Hive中的数据库(Database)
    进入Hive命令行,执行show databases;命令,可以列出hive中的所有数据库,默认有一个default数据库,进入Hive-Cli之后,即到default数据库下。
    使用use databasename;可以切换到某个数据库下,同mysql;

    Hive中的数据库在HDFS上的存储路径为${hive.metastore.warehouse.dir}/databasename.db

    比如,名为lxw1234的数据库存储路径为:

    /user/hive/warehouse/lxw1234.db

    2.1 创建Hive数据库

    使用HDFS超级用户,进入Hive-Cli,语法为:

    CREATE (DATABASE|SCHEMA) [IF NOT EXISTS] database_name
    [COMMENT database_comment]
    [LOCATION hdfs_path]
    [WITH DBPROPERTIES (property_name=property_value, ...)];

    比如,创建名为lxw1234的数据库:
    CREATE DATABASE IF NOT EXISTS lxw1234
    COMMENT 'lxw的大数据田地-lxw1234.com'
    localtion 'hdfs://namenode/user/lxw1234/lxw1234.db/';

    创建时候可以指定数据库在HDFS上的存储位置。
    注意:使用HDFS超级用户创建数据库后,该数据库在HDFS上的存储路径的属主为超级用户,如果该数据库是为某个或者某些用户使用的,则需要修改路径属主,或者在Hive中进行授权。

    2.2 修改数据库
    修改数据库属性:

    ALTER (DATABASE|SCHEMA) database_name
    SET DBPROPERTIES (property_name=property_value, …);

    修改数据库属主:

    ALTER (DATABASE|SCHEMA) database_name

    SET OWNER [USER|ROLE] user_or_role;
    2.3 删除数据库

    DROP (DATABASE|SCHEMA) [IF EXISTS] database_name
    [RESTRICT|CASCADE];

  • 相关阅读:
    Uva11584 Partitioning by Palindromes
    GYM100741 A Queries
    Uva11400 Lighting System Design
    UVA12563 Jin Ge Jin Qu hao
    Uva116 Unidirectional TSP
    HDU2089 不要62
    BZOJ3670: [Noi2014]动物园
    Uva11384 Help is needed for Dexter
    Uva1347 Tour
    BZOJ1924: [Sdoi2010]所驼门王的宝藏
  • 原文地址:https://www.cnblogs.com/WangMengyi/p/14427068.html
Copyright © 2011-2022 走看看