我可以將3個字符串組合爲HBase中的行鍵嗎?例如,X,Y和Z值的組合標識一個唯一的記錄。在hbase中使用分隔的rowkey
我會使用Java
能否請你讓我知道這是可能被連接到HBase的?
在此先感謝。
我可以將3個字符串組合爲HBase中的行鍵嗎?例如,X,Y和Z值的組合標識一個唯一的記錄。在hbase中使用分隔的rowkey
我會使用Java
能否請你讓我知道這是可能被連接到HBase的?
在此先感謝。
隨着風險變得微不足道,可以將字符串與分隔符連接起來,以產生類似「x | y | z」的內容。
您可以使用分隔符,如'|'或用於行鍵的長度前綴字符串。
你也可以參考OpenTSDB的schema design。
HBase不會阻止你這樣做。雖然你可以使用任何字符作爲分隔符,但可以嘗試使用不常見的東西,比如「〜」或「^」。原因是,字符如「|」或「,」很可能作爲數據的一部分出現。
一對夫婦的建議,但:
HTH
附: :獲得這些類型查詢的答案的最佳方法是嘗試它。這應該不會超過幾分鐘。
您可以使用PrefixFilter來實現。給定一個前綴,在實例化過濾器實例時指定,與此前綴匹配的所有行將返回給客戶端。的構造是:
公共PrefixFilter(字節[]前綴)
實施例:
過濾濾波器=新PrefixFilter(Bytes.toBytes( 「9874541235 ^移動設備^ MOBILESOURCE」));
這會給你所有以9874541235^MOBILEDEVICE^MOBILESOURCE開頭的行。
根據我的要求,我實際上應該使用密鑰作爲電話號碼(10位數字),至少8個字符的代碼和8個代碼字符的另一個代碼。所以我的鑰匙就像9874541235^MOBILEDEVICE^MOBILESOURCE。不幸的是,我不得不使用這個組合作爲關鍵字,因爲只有這些組合形成一個唯一的關鍵。請給我建議 – priya
看起來還行:) – Tariq
嗨我有一個問題,使用9874541235^MOBILEDEVICE^MOBILESOURCE作爲一個關鍵。這不是一個獨特的價值。 9874541235^MOBILEDEVICE^MOBILESOURCE^VALUE的組合是一個獨特的關鍵。但問題是,當我試圖檢索信息時,我將只有9874541235^MOBILEDEVICE^MOBILESOURCE作爲請求。你有什麼建議如何設計相同? – priya