kudu 的基本技術限制 本文來自網路. 非原創
設計的限制
鍵
在建立表後,主鍵不能更改。您必須刪除並重新建立一個表來選擇一個新列作為主鍵。
組成主鍵的列必須首先在模式設計時最先列出來。
不能使用更新功能修改行的主鍵。要修改行的主鍵,必須刪除行,並使用修改後的鍵重新插入,這樣的修改是非原子性的。
帶有DOUBLE、FLOAT或BOOL型別的列不允許作為主鍵定義的一部分,此外主鍵定義的所有列都必須是不可為空的。
不支援自動生成主鍵。
組成複合主鍵的單元格總大小被限制為不能超過16KB,這個大小是由Kudu完成內部組合鍵編碼後的大小。
單個單元格不能大於64KB,而且這個大小是在編碼或壓縮之前的大小。,組成組合鍵的單元格被限制為不能超過16KB,這個大小是在Kudu完成內部組合鍵編碼之後的大小。插入不符合這些限制的資料行將導致系統產生錯誤,並返回給客戶端。
預設情況下,Kudu不允許建立超過300列的表。推薦使用更少的列來獲得最佳效能的模式設計。
DECIMAL、CHAR、VARCHAR、DATE和複雜型別(如陣列)是不支援的。
更改表不能更改現有列的型別和是否可為空。
刪除列不會立即回收空間,必須要採用壓縮,才能回收空間 。
Kudu主要用於資料分析。儘管單個單元格大小可以多達64KB,而Kudu支援多達300個列,但建議單行不要大於幾百KB。如果單行大小達到數千位元組資料,可能會遇到問題。
表資料必須有奇數個副本,最大值為7。
複製因子(在表建立時進行設定)不能更改。
沒有辦法手動執行壓縮,但刪除一個表會立即回收這個表的空間。
不支援次要索引。
不支援多行事務。
不支援關係特性,比如外來鍵。
像列和表名這樣的識別符號被限制為有效的UTF-8字串,最大長度為256個字元。
如果使用ApacheImpala來查詢Kudu表,需要檢視Impala整合kudu的限制資料。
必須使用簡單或複合的主鍵將表手工預分割槽為平板。自動拆分目前是不支援的。Kudu不允許在建立分割槽後再更改分割槽,除了新增或刪除範圍分割槽之外。
現有表中的資料目前不能自動重新分割槽。需要建立新的分割槽,再建立一個新的表,並插入舊錶的內容。
失去大多數副本的平板(比如3個,丟了2個還只有1個)需要人工干預才能修復。
建議最大數量的平板伺服器是100臺。
建議最大數量的主節點服務呂是3臺。
每臺平板伺服器推薦的儲存資料(複製副本後和壓縮後)的最大數量為8TB。
建議每臺平板伺服器的最大平板數量為2000(複製副本後)。
每臺平板伺服器的每個資料表的平板最大數量為60個(複製副本後,在建立表時)。
務器管理的限制
生產部署應該為平板伺服器配置至少4GB的記憶體,最好在接近資料和平板規模限制時將記憶體擴充至16GB。
寫入的前置日誌(WALs)只能儲存在某一個磁碟上。
磁碟故障是不可容忍的,一旦檢測到平板伺服器就會崩潰。
未恢復資料的失敗磁碟需要在重新啟動之前對該平板伺服器的所有Kudu資料進行格式化。
無法新增/刪除資料目錄,必須對它們進行重新格式化來更改目錄集。
平板伺服器不能做到優雅地退出群集。
平板伺服器不能改變他們的地址或埠。
Kudu對擁有一個最新的NTP(網路時間協議Network Time Protocol)有著嚴格的要求。Kudu的主節點伺服器和平板伺服器會在不同步的情況下崩潰。
Kudu釋出版本只測試了NTP。其他時間同步提供者(如Chrony)可能不起作用。
的限制
不支援機架感知(在排程任務和分配儲存空間時考慮節點的物理位置)。
不支援多資料中心。
不支援滾動重啟。
備份的限制
kudu目前不包括任何內建的備份和恢復功能。鼓勵使用者使用Spark或Impala等工具匯出或匯入表
整合的限制
在建立Kudu表時,CREATE table語句必須將主鍵列放在其他列之前。
Impala不能更新主鍵列中的值。
Impala不能用DECIMAL、VARCHAR或近似這些型別的列建立Kudu表。
在Impala中用作外部表時,帶有大寫或非ascii字元名稱的Kudu表必須進行重新命名,不能包含大寫或非ascii字元。
Kudu表的列名包含大寫或非ascii字元,不能用作Impala的外部表。可以將列重新命名,以解決這個問題。
!=和LIKE謂詞不被推送到Kudu,而是由Impala掃描節點進行評估。這可能會降低相對於其他型別謂詞的效能。
使用Impala的更新、插入和刪除是非事務性的。如果一個查詢某些部分失敗了,其部分效果將不會回滾。
單個查詢的最大並行度受限於表中的平板數量。為了良好的分析效能,針對大型表的每個主機,建議存放 10個或更多的平板。
表時不支援的impala關鍵詞
PARTITIONED
LOCATION
ROWFORMAT
整合的限制
Spark 2.2(和更高版本)在執行時需要Java 8,儘管Kudu Spark 2.x整合是與Java7相容的。Spark 2.2是Kudu 1.5.0的預設依賴版本。
在註冊為臨時表時,如果kudu表名帶有大寫或非ascii字元,需要修改kudu表名。
Kudu表的列名如果包含大寫或非ascii字元,不能與SparkSQL一起使用。可以重新命名列名,以解決這個問題。
<>和or謂詞沒有被推送到Kudu,而是由Spark任務來評估。只有帶有字尾萬用字元的LIKE謂詞被推到Kudu。這意味著“FOO%”會被推送到kudu,但是像“FOO%BAR”不會。
Kudu不能支援Spark SQL所能支援的所有型別。例如,Kudu不支援Date, Decimal和複雜型別。
Kudu表只能在SparkSQL中註冊為臨時表。
不能使用HiveContext查詢Kudu表。
空閒時的資料加密功能沒有直接構建到Kudu中。透過使用dmcrypt等本地塊裝置加密軟體,可以在空閒時加密Kudu資料。
授權僅在系統範圍的粗粒度級別上可用。表級、列級和行級授權特性不可用。
Kudu不支援為Kudu流程配置自定義服務主體。主體必須遵循模式kudu/@。
Kudu與Apache Flume的整合,將不支援寫入需要身份驗證的Kudu叢集。
由Kudu IPKI生成的伺服器證照與bouncycastle版本1.52和更早版本是不相容的。
作者:devilteam2006
連結:
來源:簡書
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/133735/viewspace-2688854/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 網際網路創業公司的技術團隊構建創業
- 網路爬蟲技術是什麼,網路爬蟲的基本工作流程是什麼?爬蟲
- KUDU 能超越 300列限制嗎 ? 必須能
- 我們需要選擇網際網路自動技術嗎
- 網路安全技術可以自學嗎?網路安全技能難不難學
- 女生能學網路安全技術嗎?網路安全技術學習路線
- 網路對抗技術——網路嗅探與欺騙(第一二部分)非平臺
- 1、網路隧道技術
- 網路冗餘技術
- 網路監聽技術
- [原創]一種通用DLL劫持技術研究
- 抵禦網路攻擊的背後——成熟創新的技術是關鍵
- 【工業網際網路】康鵬舉:工業網際網路平臺的技術核心與創新應用
- 如何解除win10網路限制_win10網路限制的解除方法Win10
- Qtum量子鏈帶來的理念創新和技術突破QT
- 限制IP到全流程防控,講解網路爬蟲與技術反爬的動態攻防爬蟲
- 網路安全技術好就業嗎?未來發展如何?就業
- Git常用命令(非原創)Git
- 計算機網路技術計算機網路
- 容器技術之Docker網路Docker
- Linux虛擬網路技術Linux
- 華為網路技術-三層交換技術
- 2019來自網際網路職場的教訓
- OpenCV學堂 | 2019原創技術文章彙總OpenCV
- 新華三亮相2017全球未來網路發展峰會釋放未來網路技術風向
- 技術卡片 - 限制依賴注入的數量依賴注入
- KUDU(五)kudu優化優化
- 基於 Kotlin Native 的基本文字識別程式Kotlin
- Android中基於HTTP的網路技術AndroidHTTP
- 深圳海雲安網路安全技術有限公司入選IDC中國DevSecOps技術創新者。dev
- 來自Riot 的一份遊戲美術教程(五):技術美術遊戲
- 美國新一輪技術封鎖來臨 AI、處理器等新興技術限制出口AI
- 一個雙非渣本的春招求職路 | 掘金技術徵文求職
- 容器技術之Docker資源限制Docker
- 【工業網際網路】李少遠:工業網際網路與智慧製造推動下的自動化技術
- 用 Curl 實現基本文字識別
- 日本住宅IP暢遊日本網際網路:探索日本文化
- 【原創】Java記憶體攻擊技術漫談Java記憶體