《kudu官網筆記》2.使用限制

不生產博客,只是官網的搬運工

https://docs.cloudera.com/documentation/enterprise/5-16-x/topics/kudu_limitations.html

schema設計限制

主鍵:

1.表創建後,主鍵不能更改,必須drop表重新創建指定主鍵

2.創表的時候,主鍵必須在最前邊

3.主鍵不能通過update更新,想要修改主鍵,必須刪除行,然後重新插入,而且這種操作不是原子的

4.不支持自動生成主鍵,有內置函數uuid可以使用

5.聯合主鍵由kudu編碼後,大小不能超過16kb

 

cells

在編碼和壓縮前,任何字段值不能超過64kb,由kudu編碼後,聯合主鍵不能超過16k,超過將報錯

 

字段

1.默認情況下,kudu不允許超過300字段,建議較少列,性能最佳

2.不支持char,varchar,date(支持timestamp),複雜數據類型,例如array

3.現有列的類型和是否可爲空不可修改

4.decimal的精度不可修改

5.刪除一列不會立即釋放空間,需要首先壓縮(有關係嗎?)

 

1.副本數必須是奇數,最多爲7

2.副本數不能被修改

3.無法手動執行壓縮,但是刪除表會立即釋放空間(看來刪字段或刪表和壓縮有關)

 

別的使用限制:

1.不支持二級索引(除了主鍵索引)

2.不支持多行事務(insert into ... select 失敗時,已插入的數據無法回滾刪掉)

3.不支持關係,比如外鍵

4.表名、列名僅支持部分utf8,最大爲256字符

 

分區限制

1.表必須根據一個主鍵or聯合主鍵被預先切成tablet,不支持自動切。表被創建後不支持修改分區字段,支持添加和刪除range分區(意思分區表,分區字段需提前定義好,kudu不會自動分)

2.已經存在的表不支持自動重新分區,只能創新表,重新指定,然後導數據

3.丟掉副本,比如3個丟一個,必須手動干預才能修復(不是丟了,會在新節點再來份副本以滿足副本數,必須手動rebalnce?)

 

scale建議和限制

1.建議tablet server最多爲100臺

2.建議master最多3臺

3.建議每個tablet server最大數據爲8T(壓縮後)

4.建議每臺tablet server的tablet數爲1000,最多2000

5.創表時,建議每個tablet server上每個表的talbet數最大爲60,也就是3節點的話,3副本,創表分區最大60,這樣每個單tablet server上該表的tablets也就爲60

6.建議每個tablet最大爲50G,超出後,可能壓縮和啓動有問題

7.建議單tablet的大小小於10G

 

 

server管理限制

1.部署至少4G內存,理想最少16G

2.wal日誌只能被存儲在一塊盤上

3.不能正常停用tablet server(cdh不是可以?)

4.tablet srever不能修改ip、port

5.kudu對ntp有嚴格要求,確實,節點剛恢復,ntp手動同步下,得一會才能啓動kudu,要不然起不來

 

集羣管理限制

1.不支持機架識別(不知道啥玩意兒)

2.不支持多數據中心(不知道啥玩意兒)

3.不支持滾動重啓

4.集羣第一次啓動時,所有master必須啓動

 

impala集成限制(這個得好好掰扯掰扯)

1.創表,主鍵得在別的字段前邊(這個簡直大坑,sqoop導別的數據庫庫數據到kudu,不能insert into select * from ..,得把所有字段全列出來,因爲有的順序變了)

2.無法更新主鍵的值,這個前面主鍵限制有說

3.不支持varchar和複雜數據類型

4.當使用impala外部表時,kudu表名或者字段名包含大寫或者非ASCII碼必須表起別名

字段重命名

5.用impala更新、插入和刪除不支持事務,如果sql中途失敗,不能通過回滾恢復

6.單個查詢的最大並行度受限與tablet數,爲了更好的性能,對於大表,每個tablet server上最少10個tablet

impala創建kudu表不支持的關鍵詞

partitioned(?partitioned by hash(...)不是嗎)

location

rowformat

 

安全限制

授權只是能訪問kudu還是不能訪問kudu,不支持細粒度的庫、表、字段

但通過給Impala授權,可以控制,但是如果通過kudu api不受權限控制

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章