當前位置:首頁 » 操作系統 » hive元數據資料庫

hive元數據資料庫

發布時間: 2023-09-19 06:13:35

『壹』 hive 的元數據存儲在 derby 和 mysql 中有什麼區別

Hive 的元數據存儲在RDBMS中,一般常用 MySQL 和 Derby。默認情況下,Hive元數據保存在內嵌的 Derby 資料庫中,只能允許一個會話連接,只適合簡單的測試。實際生產環境中不適用,為了支持多用戶回話,需要一個獨立的元資料庫,所以使用 MySQL。
總結:
1、Derby 只支持一個會話連接
2、 MySQL 支持多個會話連接,並且可以獨立部署

『貳』 Hive 資料庫表的基本操作,必須掌握的基本功

說明:hive 的表存放位置模式是由 hive-site.xml 當中的一個屬性指定的,默認是存放在該配置文件設置的路徑下,也可在創建資料庫時單獨指定存儲路徑。

資料庫有一些描述性的屬性信息,可以在創建時添加:

查看資料庫的鍵值對信息

修改資料庫的鍵值對信息

與mysql查詢語句是一樣的語法

刪除一個空資料庫,如果資料庫下面有數據表,那麼就會報錯

強制刪除資料庫,包含資料庫下面的表一起刪除(請謹慎操作)


[]里的屬性為可選屬性,不是必須的,但是如果有可選屬性,會使 sql 語句的易讀性更好,更標准與規范。

例如:[comment '欄位注釋信息'][comment '表的描述信息']等,[external]屬性除外


1. CREATE TABLE
創建一個指定名字的表,如果相同名字的表已存在,則拋出異常提示:表已存在,使用時可以使用IF NOT EXISTS語句來忽略這個異常。

如果創建的表名已存在,則不會再創建,也不會拋出異常提示:表已存在。否則則自動創建該表。


2. EXTERNAL
顧名思義是外部的意思,此關鍵字在建表語句中讓使用者可以創建一個外部表,如果不加該關鍵字,則默認創建內部表。

外部表在創建時必須同時指定一個指向實際數據的路徑(LOCATION),Hive在創建內部表時,會將數據移動到數據倉庫指向的路徑;

若創建外部表,僅記錄數據所在的路徑,不對數據的位置作任何改變。

內部表在刪除後,其元數據和數據都會被一起刪除。
外部表在刪除後,只刪除其元數據,數據不會被刪除。


3. COMMENT
用於給表的各個欄位或整張表的內容作解釋說明的,便於他人理解其含義。


4. PARTITIONED BY
區分表是否是分區表的關鍵欄位,依據具體欄位名和類型來決定表的分區欄位。


5. CLUSTERED BY
依據column_name對表進行分桶,在 Hive 中對於每一張表或分區,Hive 可以通過分桶的方式將數據以更細粒度進行數據范圍劃分。Hive採用對列值哈希,然後除以桶的個數求余的方式決定該條記錄存放在哪個桶當中。


6. SORTED BY
指定表數據的排序欄位和排序規則,是正序還是倒序排列。


7. ROW FORMAT DELIMITED FIELDS TERMINATED BY ' '
指定表存儲中列的分隔符,這里指定的是' ',也可以是其他分隔符。


8. STORED AS SEQUENCEFILE|TEXTFILE|RCFILE
指定表的存儲格式,如果文件數據是純文本格式,可以使用STORED AS TEXTFILE,如果數據需要壓縮,則可以使用STORED AS SEQUENCEFILE。


9. LOCATION
指定 Hive 表在 hdfs 里的存儲路徑,一般內部表(Managed Table)不需要自定義,使用配置文件中設置的路徑即可。
如果創建的是一張外部表,則需要單獨指定一個路徑。


1. 使用create table語句創建表
例子:


2. 使用create table ... as select...語句創建表
例子:

使用 create table ... as select ...語句來創建新表sub_student,此時sub_student 表的結構及表數據與 t_student 表一模一樣, 相當於直接將 t_student 的表結構和表數據復制一份到 sub_student 表。


注意:
(1). select 中選取的列名(如果是 * 則表示選取所有列名)會作為新表 sub_student 的列名。

(2). 該種創建表的方式會改變表的屬性以及結構,例如不能是外部表,只能是內部表,也不支持分區、分桶。

如果as select後的表是分區表,並且使用select *,則分區欄位在新表裡只是作為欄位存在,而不是作為分區欄位存在。

在使用該種方式創建時,create 與 table 之間不能加 external 關鍵字,即不能通過該種方式創建外部目標表,默認只支持創建內部目標表。

(3). 該種創建表的方式所創建的目標表存儲格式會變成默認的格式textfile。


3.使用like語句創建表
例子:


注意:
(1). 只是將 t_student 的表結構復制給 sub1_student 表。

(2). 並不復制 t_student 表的數據給 sub1_student 表。

(3). 目標表可以創建為外部表,即:

『叄』 拿到hive的元資料庫許可權能否拿到所有用戶的數據

概述
一、存儲Hive版本的元數據表(VERSION)
二、Hive資料庫相關的元數據表(DBS、DATABASE_PARAMS)
1、DBS
2、DATABASE_PARAMS
三、Hive表和視圖相關的元數據表
1、TBLS
2、TABLE_PARAMS
3、TBL_PRIVS
四、Hive文件存儲信息相關的元數據表
1、SDS
2、SD_PARAMS
3、SERDES
4、SERDE_PARAMS
五、Hive表欄位相關的元數據表
1、COLUMNS_V2
六、Hive表分區相關的元數據表
1、PARTITIONS
2、PARTITION_KEYS
3、PARTITION_KEY_VALS
4、PARTITION_PARAMS
七、其他不常用的元數據表

『肆』 Hive元資料庫是用來做什麼的,存儲哪些信息

本質上只是用來存儲hive中有哪些資料庫,哪些表,表的模式,目錄,分區,索引以及命名空間。為資料庫創建的目錄一般在hive數據倉庫目錄下。

熱點內容
安卓怎麼去掉背景圖 發布:2024-06-22 02:13:05 瀏覽:928
貪心演算法找零錢 發布:2024-06-22 02:08:43 瀏覽:224
按鍵精靈腳本收費 發布:2024-06-22 01:58:46 瀏覽:293
安卓如何用otg 發布:2024-06-22 01:49:11 瀏覽:911
扇貝編程下載 發布:2024-06-22 01:49:06 瀏覽:507
如何攻克系統密碼 發布:2024-06-22 01:48:31 瀏覽:685
華為存儲待遇 發布:2024-06-22 01:40:39 瀏覽:305
matlab讀取文件夾中的所有 發布:2024-06-22 01:40:37 瀏覽:629
戴爾架式伺服器能當電腦用嗎 發布:2024-06-22 01:05:16 瀏覽:517
linux掛載與卸載 發布:2024-06-22 00:54:57 瀏覽:901