2013-01-22 31 views
1

我們有一個有多個家族的HBase表,我們需要刪除某個家族的所有數據,但保留其餘的不變。我們只需要刪除數據,然後將家人離開,因爲我們將爲該家庭重新填寫新數據。 最簡單的方法似乎是從文件系統中刪除與該系列相關的文件(在../{table_name}/{some_hash}/{family_name}/下找到)。 這樣做是否有任何副作用,我們應該知道? 如果有,有沒有更安全,更簡單的方法來做到這一點?如何刪除hbase表中某個家族的所有數據?

回答

1

更安全的方法是deleteColumn並完全刪除家庭,然後重新添加它與addColumn。請注意,在進行這些更改之前,需要禁用表格

+0

我試過「alter'table_name','delete'=>'family_name'」,但實際上並沒有刪除數據,只是改變了模式。如果您重新添加家人,除非您刪除像問題中詳述的那樣的文件,否則數據也會再次出現。 –

+0

沒問題,但當HBase不希望它們成爲表格的一部分時,刪除文件會更安全 –

相關問題