我將java對象存儲在hbase中(比如)假設我有一個具有3個參數(如名,中間名和姓氏)的對象'User'。我用下面的代碼序列中的java有沒有一種方法來通過python反序列化java對象
Object object = (object) user;
byte[] byteData = SerializationUtils.serialize((Serializable) object);
並存儲在HBase的像「存儲完整的對象(在字節[]的上述格式)在鍵值對值部分」
它存儲在像(實施例)的HBase
柱=容器:容器,時間戳= 1480016194005,值= \ XAC \ XED \ X00 \ x05sr \ X00 & com.test.container \ X07 \ X89 \ X83 \ XFA \ 0x7F部分\ xD0F \ xA5 \ X02 \ X00 \ x08I \ X00 \ x07classIdJ \ X00 \ x14dateTimeInLongFormatZ \ X00 \ x04rootZ \ X00 \ x09undefinedL \ X00 \ x03keyt \ X00 \ x12Ljava /郎/字符串爲:L \ X00 \ x04modeq \ X00〜\ X00 \ x01L \ X00 \ x04nameq \ X00〜\ X00 \ x01L \ X00 \ x06userIdq \ X00〜\ X00 \ x01xp \ X00 \ X00 \ X00 \ X02 \ X00 \ X00 \ x01X \ x967 \ XBA \ XF0 \ X00 \ x00t \ X00 \ x1Econtainer_393_5639181044834024t \ X00 \ x06expandt \ X00 \ x02ert \ X00 \ x08testadmin
當我嘗試檢索數據,我用Java中的反序列化之後和轉換回可讀格式
對象= SerializationUtils.deserialize(字節)的對象;
I would like to retrieve the data stored in java format via happybase using python and I achieved it and received the data as available in hbase like
它存儲在HBase的像(實施例)
柱=容器:容器,時間戳= 1480016194005,值= \ XAC \ XED \ X00 \ x05sr \ X00 & com.test.container \ X07 \ X89 \ X83 \ XFA \ 0x7F部分\ xD0F \ xA5 \ X02 \ X00 \ x08I \ X00 \ x07classIdJ \ X00 \ x14dateTimeInLongFormatZ \ X00 \ x04rootZ \ X00 \ x09undefinedL \ X00 \ x03keyt \ X00 \ x12Ljava /郎/字符串爲:L \ X00 \ x04modeq \ X00〜\ X00 \ x01L \ X00 \ x04nameq \ X00〜\ X00 \ x01L \ X00 \ x06userIdq \ X00〜\ X00 \ x01xp \ X00 \ X00 \ X00 \ X02 \ X00 \ X00 \ x01X \ x967 \ XBA \ xF0 \ x00 \ x00t \ x00 \ x1Econtainer_393_5639181044834024t \ x00 \ x06expandt \ x00 \ x02ert \ x00 \ x08testadmin
有沒有辦法通過Python反序列化的Java對象
感謝很多
哈日
簡答:如果你問這個問題不是。較長的答案:Java二進制序列化格式[詳細說明](https://docs.oracle.com/javase/8/docs/platform/serialization/spec/protocol.html),所以你可以用Python編寫代碼,或者任何語言,讀取數據。但是你顯然不能在Python代碼中創建和Java代碼相同的_behaviour_,所以雖然你可以從序列化格式讀取**數據**,但是你不能讀**行爲**。 –