zoukankan      html  css  js  c++  java
  • Hive中的数据库(Database)和表(Table)

    1. Hive在HDFS上的默认存储路径
      Hive的数据都是存储在HDFS上的,默认有一个根目录,在hive-site.xml中,由参数hive.metastore.warehouse.dir指定。默认值为/user/hive/warehouse.
    2. Hive中的数据库(Database)
      Hive中的数据库在HDFS上的存储路径为:${hive.metastore.warehouse.dir}/databasename.db

      CREATE DATABASE IF NOT EXISTS hive
      COMMENT 'hive测试库'
      localtion 'hdfs://namenode/user/test/hive.db/';
    3. Hive中的表(Table)
      表的存储路径为:${hive.metastore.warehouse.dir}/databasename.db/tablename/
      可以使用desc formatted tablename;命令查看表的详细信息,其中包括了存储路径:
      Location: hdfs://cdh5/hivedata/warehouse/hive.db/test
      Hive中的表分为内部表(MANAGED_TABLE)和外部表(EXTERNAL_TABLE)。
      内部表和外部表最大的区别
          内部表DROP时候会删除内部表和删除HDFS上的数据;
          外部表DROP时候会删除外部表但不会删除HDFS上的数据;
      内部表适用场景:
          Hive中间表、结果表、一般不需要从外部(如本地文件、HDFS上load数    据)的情况。
      外部表适用场景:
          源表,需要定期将外部数据映射到表中。
      CREATE EXTERNAL TABLE test(
      id INT,
      ip STRING COMMENT '访问者IP',
      avg_view_depth DECIMAL(5,1),
      bounce_rate DECIMAL(6,5)
      ) COMMENT '测试'
      PARTITIONED BY (day STRING)
      ROW FORMAT DELIMITED
      FIELDS TERMINATED BY ','
      STORED AS textfile
      LOCATION 'hdfs://cdh5/tmp/hive/;

      关键字EXTERNAL:表示该表为外部表,如果不指定EXTERNAL关键字,则表示内部表 关键字COMMENT:为表和列添加注释 关键字PARTITIONED BY:表示该表为分区表,分区字段为day,类型为string 关键字ROW FORMAT DELIMITED 指定表的分隔符,通常后面要与以下关键字连用:   FIELDS TERMINATED BY ',' //指定每行中字段分隔符为逗号   LINES TERMINATED BY ' ' //指定行分隔符   COLLECTION ITEMS TERMINATED BY ',' //指定集合中元素之间的分隔符   MAP KEYS TERMINATED BY ':' //指定数据中Map类型的Key与Value之间的分隔符 关键字STORED AS:指定表在HDFS上的文件存储格式,可选的文件存储格式有: TEXTFILE //文本,默认值 SEQUENCEFILE // 二进制序列文件 RCFILE //列式存储格式文件 Hive0.6以后开始支持
      ORC //列式存储格式文件,比RCFILE有更高的压缩比和读写效率,Hive0.11以后开始支持 PARQUET //列出存储格式文件,Hive0.13以后开始支持 关键词LOCATION:指定表在HDFS上的存储位置。

      原文地址:Hive中的数据库(Database)和表(Table)

  • 相关阅读:
    如何打开肉鸡的3389端口(xp的)
    XP鲜为人知的实用技巧(一)
    利用Ms08067工具进行溢出攻击
    教你建一个别人看不到打不开的文件夹
    在IE上显示自己的名字
    QQ使用的七大非常规秘籍
    第五篇:Python函数基础篇
    Centos7之Systemd(Service文件)详解
    Linux GCC make文件的写法3
    DSP/BIOS学习笔记——2.SWI
  • 原文地址:https://www.cnblogs.com/yangjiming/p/9390750.html
Copyright © 2011-2022 走看看