各位大神!有個這樣的需求,我的HBase一個表對應一個省份人群資訊(存盤該省份的所有人群手機號碼),需要在5分鐘內能將全省的資料入庫到HBase中。其中該表設計如下:
rowKey:基站標識+時間(yyyyMMdd)
columnFamily:peoFamily;
column:00/05/10/15...(每5分鐘時間片),一條rowKey對應12個列,即1小時有12個5分鐘
value:用逗號分隔的手機號碼(該字串大概有10W個電話號碼)
請問大神,value設計是否合理,或者有什么更好的設計方式?
value存盤是否直接存HDFS,hbase存對應的偏移量或者檔案鏈接?
uj5u.com熱心網友回復:
難搞!各位有解決方案嗎?uj5u.com熱心網友回復:
取決于誰去讀HBase的資料。如果是純java,你完全可以把List<String>序列化后存進去,讀的時候反序列化出來,split操作都省了。
如果是有其他語言參與,逗號分割或者json陣列這種跨語言序列化,都是可以的 沒有問題。
但是注意,HBase每個Cell建議不超過64MB。你一個cell有10w個手機號,也就是110w+的數字+10w個分隔符,每個字符2位元組,大概是240w 位元組 也就是2.28 MB 是完全可以的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/62217.html
標籤:分布式計算/Hadoop
