2011-09-02 55 views
0

我正在使用appengine python appcfg.py来从我的数据存储区批量下载/上传数据。很棒。当我做了一个download_data的时候,我的所有数据都在csv文件中。我的实体具有hashmap属性(数据存储上的序列化数据),这些属性在csvfile中以base64编码保存。如何将二进制数据字段从appengine数据存储区导出到其他数据库?

appcfg.py默认情况下有以下 import_transform:transform.blobproperty_from_base64 export_transform:base64.b64encode 当我们导入数据,Python代码具有神奇的将其转换为blob对象。

我想使用生成的csv文件并编写一些脚本来在某些时候将数据迁移到MySQL。任何人有关于如何读取二进制数据并重新创建一个hashmap对象的想法?任何apis,这将有助于?

+0

通过hashmap属性你是指持有序列化的字典对象的属性? – fjsj

+0

是的。我有java hashmap对象作为实体变量。数据存储将这些数据保存为序列化数据(blob)。 csv文件具有编码数据。我需要一种简单的方法来从解码数据重新创建我的dictioanry对象。 –

+0

那么你是以这种方式分散这个HashMap的吗? https://code.google.com/intl/pl/appengine/docs/java/datastore/jdo/dataclasses.html#Serializable_Objects – fjsj

回答

0

尝试使用ObjectInputStream读取二进制数据。不要忘记演员。

有关更多信息,请参见this article的“2.2对象输出和输入”部分。

相关问题