簡體   English   中英

如何定義hbase行鍵,以便當表中的記錄數為百萬時以最佳方式獲得下標

[英]how to we define hbase rowkey so we get reords in optimize manner when millons of records in table

我有3千萬條記錄放入表中,但是當嘗試從中查找一條記錄時,我將花費大量時間進行檢索。 您能否建議我如何生成行鍵,以便我們能夠快速獲取記錄。

現在,我已經將1,2,3的自動增量ID用作行鍵,以及需要采取哪些步驟來提高性能。 讓我知道你的擔心

通常,當我們要提高SQL結構化表的性能時,我們會遵循一些基本/常規調整,例如將適當的索引應用於查詢中使用的列。 將適當的邏輯分區或存儲桶應用於表。 給緩沖區足夠的內存來執行一些復雜的操作。

當涉及大數據時,特別是如果您使用hadoop,真正的問題在於硬盤和緩沖區之間的上下文切換。 和不同服務器之間的上下文切換。 您需要確保如何減少上下文切換以獲得更好的性能。

一些注意事項:

使用解釋功能了解查詢結構並嘗試提高性能。

如果您使用整數row-key,那么它將提供最佳性能,但始終在表的開頭創建row-key / index。 因為后來的性能被殺死。

在Hive / Impala中針對hbase表創建外部表時,將hbase行鍵映射到Hive / Impala中的字符串列。 如果不這樣做,則查詢中不使用行鍵,並掃描整個表。

永遠不要在行鍵查詢中使用LIKE,因為它會掃描整個表。 使用BETWEEN或=,<,> =。 如果您沒有在查詢中使用針對行鍵列的過濾器,則行鍵設計可能是錯誤的。 行鍵應設計為包含查找特定數據子集所需的信息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM