91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Hive常用的SQL視圖操作有哪些

發布時間:2021-12-10 11:40:35 來源:億速云 閱讀:361 作者:小新 欄目:大數據

小編給大家分享一下Hive常用的SQL視圖操作有哪些,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

簡介

Hive 中的視圖和 RDBMS 中視圖的概念一致,都是一組數據的邏輯表示,本質上就是一條 SELECT 語句的結果集。視圖是純粹的邏輯對象,沒有關聯的存儲 (Hive 3.0.0 引入的物化視圖除外),當查詢引用視圖時,Hive 可以將視圖的定義與查詢結合起來,例如將查詢中的過濾器推送到視圖中。

視圖

普通視圖:是一個虛擬表,其本身不存儲數據,數據是由查詢語句定義的。簡單來說視圖只是的定義了 數據結構的元數據。
物化視圖:是一個特殊物理表,視圖本身保存數據,其數據來源是根據原始表或者是遠程表查詢而來,并且會定時更新數據。Hive目前僅3.0及以上版本支持。

hive 視圖特點

在 Hive 中可以使用 CREATE VIEW 創建視圖,如果已存在具有相同名稱的表或視圖,則會拋出異常,建議使用 IF NOT EXISTS 預做判斷。在使用視圖時候需要注意以下事項: :

  1. 只有邏輯視圖,沒有物化視圖;

  2. 視圖是只讀的,不能 Load/Insert/Update/Delete 數據;

  3. hive的視圖僅僅相當于一個sql的快捷方式,為了提升hql語句的可讀性

  4. 視圖在創建時候,只是保存了一份元數據,當查詢視圖的時候,才開始執行視圖對應的那些子查詢

  5. hive的視圖保存在元數據庫中 
    元數據庫保存的類型為 VIRTUAL_VIEW
    元數據庫保存當前視圖代表的sql語句

  6. 創建視圖時,如果 SELECT 語句中包含其他表達式,例如 x + y,則列名稱將以_C0,_C1 等形式生成

  7. 創建視圖時,如果未提供列名,則將從 SELECT 語句中自動派生列名

  8. 刪除基表并不會刪除視圖,需要手動刪除視圖

  9. 在創建視圖時候視圖就已經固定,對基表的后續更改(如添加列)將不會反映在視圖

  10. 視圖可能包含 ORDER BY 和 LIMIT 子句。如果引用視圖的查詢語句也包含這類子句,其執行優先級低于視圖對應字句。例如,視圖 custom_view 指定 LIMIT 5,查詢語句為 select * from custom_view LIMIT 10,此時結果最多返回 5 行。

創建視圖

 create view view_name as select * from carss; 
 create view carss_view as select * from carss limit 500;

查看視圖

show tables;   // 可以查看表,也可以查看視圖
desc view_name // 查看某個具體視圖的信息
desc carss_view

刪除視圖

drop view view_name
drop view if exists carss_view

刪除視圖時,如果被刪除的視圖被其他視圖所引用,這時候程序不會發出警告,但是引用該視圖其他視圖已經失效,需要進行重建或者刪除。

使用視圖

create view sogou_view as select * from sogou_table where rank > 3 ;
select count(distinct uid) from sogou_view;

修改視圖

ALTER VIEW [db_name.]view_name AS select_statement;

被更改的視圖必須存在,且視圖不能具有分區,如果視圖具有分區,則修改失敗。

以上是“Hive常用的SQL視圖操作有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

克什克腾旗| 石阡县| 玉山县| 大关县| 高雄县| 西城区| 石屏县| 青阳县| 普洱| 嘉鱼县| 安平县| 新宾| 青岛市| 华坪县| 巴林左旗| 南丹县| 顺义区| 木兰县| 渝中区| 晋城| 江山市| 商城县| 若尔盖县| 阿拉尔市| 内丘县| 朝阳县| 兴隆县| 如东县| 阿尔山市| 鄂托克前旗| 南安市| 金坛市| 定边县| 雅江县| 宁安市| 灵石县| 大关县| 伊川县| 旬阳县| 五常市| 上栗县|