日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

前言

Hive的分區和分桶都是細化數據管理,加快數據查詢和分析,兩者有什么區別呢?下面講解一下分區和分桶的原理。

分區及原理

Hive的分區表可以有一個或多個分區鍵,用于確定數據的存儲方式。分區(除了作為存儲單元)還允許用戶有效地識別滿足指定條件的數據,顯著加快查詢分析速度。分區字段并不是數據的一部分,而是加載時虛擬的列,數據在HDFS上存儲時分區就相當于文件目錄。

分區建表SQL

分區表使用partitioned by 子句指定,以指定字段列,需要指定字段類型。

--分區表建表sql
USE testdb;
CREATE TABLE test_partition (
    field1 String Comment 'field1 comment',
    field2 String Comment 'field2 comment')
Comment 'table comment'
PARTITIONED BY(d String Comment 'date')
STORED AS ORC;

--分區表查詢
SELECT *
FROM testdb.test_partition
WHERE d = '2022-02-01'

建表完成后查看LOCATION參數為:'
hdfs://ns/user/hive/warehouse/testdb.db/test_partition'。當存儲數據時,2022-02-01日期的數存儲在hdfs://ns/user/hive/warehouse/testdb.db/test_partition/d=2022-02-01目錄下。

如果指定多個分區列用逗號分隔開,如:建表是PARTITIONED BY(d String Comment 'date',h String Comment 'hour'),分區字段日期常用格式:d=yyyy-MM-dd,h=HH。第二個參數會作為子目錄存儲在HDFS上:***/test_partition/d=2022-02-01/h=12

分桶及原理

分桶表中的數據可以根據表中某列的哈希函數的值依次劃分為存儲桶,用于分桶的字段是數據中實際的一列。其原理:根據分桶的列計算hash值,對hash值取模運算,將數據放到對應的桶里。

分桶建表SQL

分桶表由clustered by 子句指定,指定字段為真實字段,需要指定桶的個數,桶編號從零開始。

--分桶表建表sql,創建4個桶
USE testdb;
CREATE TABLE test_bucket (
    field1 String Comment 'field1 comment',
    field2 String Comment 'field2 comment')
COMMENT 'table comment'
clustered by (field1) into 4 buckets
row format delimited
fields terminated by ',';

--分桶表查詢
SELECT *
FROM testdb.test_bucket
WHERE field1 = '0'

相同點和不同點

相同點:分區和分桶表都是Hive細化數據管理,加快數據查詢和分析。

不同點

  • 分區字段不是實際的列,分桶字段必須是實際的列。
  • 分區表的分區數量可以一直增長,而分桶表創建好后桶的數量就固定不變了。

思考

因為分桶原理是用hash計算后取模計算分桶,用哈希計算必然會沖突,如果大批量數據計算的hash值相等,極端情況下全部數據集中到一個桶中時,就導致分桶表退化成一張維表。

分享到:
標簽:Hive
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定