日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

字段 新增hive_Hive分区表 | 每日五分钟学大数据

發布時間:2023/12/10 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 字段 新增hive_Hive分区表 | 每日五分钟学大数据 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

數據分區的一般概念存在已久。其可以有多種形式,但是通常使用分區來水平分散壓力,將數據從物理上轉移到和使用最頻繁的用戶更近的地方,以及實現其他目的。

Hive中有分區表的概念。我們可以看到分區表具有重要的性能優勢,而且分區表還可以將數據以一種符合邏輯的方式進行組織,比如分層存儲。

來看看這張分區表:

CREATE TABLE ods.ods_login(`uuid` string,`event` string,`time` string)partitioned by (dt string)

分區表改變了 Hive對數據存儲的組織方式。如果我們是在ods庫中創建的這個 表,那么對于這個表只會有一個ods_login目錄與之對應:

hdfs://hadooopcluster/user/hive/warehouse/ods.db/ods_login

如果我們加一個分區

ALTER TABLE ods.ods_login add PARTITION (dt='2020-03-01');

那么存儲路徑會發生這樣的變化

hdfs://hadoopcluster/user/hive/warehouse/ods.db/ods_login/dt=2020-03-01/

是的,分區名就是實際的目錄名稱。表下將會包含有零個文件或者多個文件,這些文件中存放著那些你新增的分區名稱。

分區字段(這個例子中就是dt) 一旦創建好,表現得就和普通的字段一樣。 事實上,除非需要優化查詢性能,否則使用這些表的用戶不需要關心這些“字段”是否是分區字段。

例如,下面這個查詢語句將會查找出用戶在2020-03-01的所有行為數據:

SELECT * FROM ods.ods_loginWHERE dt='2020-03-01'

需要注意的是,分區使這張表擁有了額外的一個時間字段,所以實際數據中可以省略類似含義的字段,避免冗余了。

對數據進行分區,最重要的原因就是為了更快地查詢。在前面那個將結果范圍限制在'2020-03-01'這一天的查詢中,僅僅需要掃描一個目錄下的內容即可。即使我們可能有好幾百個目錄,除了這一個目錄其他的都可以忽略不計。對于非常大的數據集,分區可以顯著地提高查詢性能。

當我們在WHERE子句中增加謂詞來按照分區值進行過濾時,這些謂詞被稱為分區過濾器。

為了避免查詢的數據量太大,一個高度建議的安全措施就是將Hive 設置為“strict(嚴格)”模式,這樣如果對分區表進行查詢而WHERE子句沒有加分區過濾的話,將會禁止提交這個任務。

用戶也可以按照下面的語句將屬性值設置為

hive> set hive.mapred.mode=strict;hive> SELECT * FROM ods.ods_login LIMIT 100;FAILED: Error in semantic analysis: No partition predicate found forAlias nen Table "ods.ods_login"

如果設置為nonstrict;則可以正常查詢

hive> set hive.mapred.mode=nonstrict;hive> SELECT * FROM ods.ods_login LIMIT 100;aaa bbb ccc 2020-03-01

同時,可以通過SHOW PARTITIONS命令查看表中存在的所有分區:

hive> SHOW PARTITIONS ods.ods_logindt=2020-03-01

參考資料:

1.《Hive編程指南》?

2. Hive官方wiki:

https://cwiki.apache.org/confluence/display/HIVE


>>??想學大數據?點擊找老蒙!<<智能人工推薦:

從面試官的角度談談大數據面試??

你是否能被輕易地取代?

>>? 點擊查看更多覺得有價值請關注▼

總結

以上是生活随笔為你收集整理的字段 新增hive_Hive分区表 | 每日五分钟学大数据的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。