【Hive】hive元數據庫中的幾張核心表

hive元數據庫中的幾張核心表

在hive-site.xml配置了mysql連接信息,元數據庫爲hivedb

<property>
   <name>javax.jdo.option.ConnectionURL</name>
   <value>jdbc:mysql://localhost:3306/hivedb?createDatabaseIfNotExist=true</value>
   <description>JDBC connect string for a JDBC metastore</description>
   <!-- 如果 mysql 和 hive 在同一個服務器節點,那麼請更改 hdp02 爲 localhost,連接會快一些 -->
 </property>

我們看一下元數據庫會爲我們生成哪些表:

mysql> use hivedb;
mysql> show tables;
+---------------------------+
| Tables_in_hivedb          |
+---------------------------+
| AUX_TABLE                 |
| BUCKETING_COLS            |
| CDS                       |
| COLUMNS_V2                | 字段描述信息
| COMPACTION_QUEUE          |
| COMPLETED_COMPACTIONS     |
| COMPLETED_TXN_COMPONENTS  |
| DATABASE_PARAMS           |
| DBS                       | 數據庫的描述信息的元數據表
| DB_PRIVS                  |
| DELEGATION_TOKENS         |
| FUNCS                     |
| FUNC_RU                   |
| GLOBAL_PRIVS              |
| HIVE_LOCKS                |
| IDXS                      |
| INDEX_PARAMS              |
| KEY_CONSTRAINTS           |
| MASTER_KEYS               |
| NEXT_COMPACTION_QUEUE_ID  |
| NEXT_LOCK_ID              |
| NEXT_TXN_ID               |
| NOTIFICATION_LOG          |
| NOTIFICATION_SEQUENCE     |
| NUCLEUS_TABLES            |
| PARTITIONS                |
| PARTITION_EVENTS          |
| PARTITION_KEYS            |
| PARTITION_KEY_VALS        |
| PARTITION_PARAMS          |
| PART_COL_PRIVS            |
| PART_COL_STATS            |
| PART_PRIVS                |
| ROLES                     |
| ROLE_MAP                  |
| SDS                       |
| SD_PARAMS                 |
| SEQUENCE_TABLE            |
| SERDES                    |
| SERDE_PARAMS              |
| SKEWED_COL_NAMES          |
| SKEWED_COL_VALUE_LOC_MAP  |
| SKEWED_STRING_LIST        |
| SKEWED_STRING_LIST_VALUES |
| SKEWED_VALUES             |
| SORT_COLS                 |
| TABLE_PARAMS              |
| TAB_COL_STATS             |
| TBLS                      | 表的描述信息
| TBL_COL_PRIVS             |
| TBL_PRIVS                 |
| TXNS                      |
| TXN_COMPONENTS            |
| TYPES                     |
| TYPE_FIELDS               |
| VERSION                   |
| WRITE_SET                 |
+---------------------------+

元數據庫中的幾個核心表:

  1. hive的數據庫的描述信息的元數據表DBS
    一條數據對應的是hive中的一個數據庫
    hive中創建一個數據庫 這表中添加一條數據
    hive> create database testdb;
    hive> desc database testdb;
    OK
    testdb		hdfs://hdp01:9000/user/hive/warehouse/testdb.db	hdp01	USER	
    Time taken: 0.113 seconds, Fetched: 1 row(s)
    
    
    在這裏插入圖片描述
  2. hive的表的描述信息TBLS
    hive中一個表對應這裏的一條數據
    1(table_id) 1545036305 2(db_id) 0 hadoop 0 1 student MANAGED_TABLE(表類型) 0
    在這裏插入圖片描述
    這個表中的表類型字段 有3個值:
    MANAGED_TABLE 管理表、內部表
    EXTERNAL_TABLE 外部表
    virtual_view 視圖
    默認的創建的表都是管理表
  3. hive的字段描述信息COLUMNS_V2
    這裏的一條數據對應的是hive表中的一個字段
    1(表id) age int 3(字段順序,從0開始 順序遞增的)
    在這裏插入圖片描述
    (這裏發現上表的tb_test表在COLUMNS_V2表中沒有對應記錄,不知道爲啥)

元數據可以修改的
hive中的表或庫信息都是從元數據庫讀取的信息
元數據庫的信息只要修改 hive的表或庫的信息就會修改
但是表中的存儲的數據不會變的 在hdfs存儲的

發佈了84 篇原創文章 · 獲贊 12 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章