簡體   English   中英

Hbase-如何添加超級列族?

[英]Hbase - How to add a super column family?

我正在嘗試創建將MYSQL數據庫轉換為NOSQL Hbase數據庫的Java應用程序。
到目前為止,它已從mysql讀取數據並將其正確插入hbase
但是現在我正在嘗試處理MYSQL表之間的關系,並且我了解是否存在關系,您應該將表之一添加為super column family。
超柱 我查看了apatch網站文檔,但找不到任何東西。
有任何想法嗎 ?

列族與關系無關。 相比之下,您必須通過行鍵設計正確創建反向索引,這可能允許通過從另一個表中了解鍵來有效地O(1)從一個表中檢索數據。 為了避免連接,請嘗試將所有數據存儲在一行中。 任何為HBase提供SQL接口的工具都會生成作業,這些作業需要花費一些時間才能啟動和執行。 如果執行Get操作或掃描連續的行,則HBase很快。 希望這是有用的。

更新資料

關於列族的更多詳細信息,請查閱優秀的《 架構師HBase應用程序》。

列族是特定於HBase的概念,在其他RDBMS應用程序中找不到。 對於同一區域,不同的列族會將數據存儲到不同的文件中,並且可以進行不同的配置。 具有相同訪問模式和相同格式的數據應分組到相同的列族中。 以格式為例,如果除了每個客戶的個人資料照片的圖像文件之外,您還需要存儲許多客戶資料的文本元數據信息,則可能要將它們存儲在兩個不同的列族中:一個壓縮(其中所有文本信息將被存儲)和一個未壓縮的圖像文件將被存儲在其中。 作為有關訪問模式的示例,如果某些信息大多數被讀取且幾乎從未寫入,而某些信息大部分被寫入且幾乎從未讀取,則您可能希望將它們分為兩個不同的列族。 如果要存儲的不同列具有相似的格式和訪問模式,請在同一列族中將它們重新分組。 給定RegionServer的寫緩存存儲區由為給定主機托管的所有區域配置的所有列系列共享。 濫用列族將對memstore施加壓力,這將生成許多小文件,進而生成大量壓縮,這可能會影響性能。 您可以為表配置的列系列的數量沒有技術限制。 但是,在過去三年中,我們有機會使用的大多數用例僅需要一個列系列。 有些需要兩個色譜柱系列,但是每次我們看到兩個以上的色譜柱系列時,有可能並建議減少數量以提高效率。 如果您的設計包含三個以上的列族,則可能需要更深入地研究它,看看是否真的需要所有這些列; 最有可能將它們重新組合。 如果兩個列族之間沒有任何一致性約束,並且數據將在不同時間到達它們,而不是為單個表創建兩個列族,那么還可以創建兩個表,每個表具有一個列族。 當需要決定區域大小時,此策略很有用。 的確,雖然最好使兩個列族的大小幾乎相同,但通過在兩個不同的表上拆分它們,現在讓我獨立成長變得更容易。

這個答案也可能是有用的。

暫無
暫無

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

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