This 旧答案 https://stackoverflow.com/questions/2810394/export-import-datastore-from-to-google-app-engine指向一个链接Google 应用引擎文档 http://code.google.com/appengine/docs/python/tools/uploadingdata.html,但该链接现在是关于备份您的游戏数据,而不是下载它。
那么如何将所有数据下载到csv中呢?数据很小,即
我尝试了几种不同的方法来使用概述的步骤导出到 csvhere http://gbayer.com/big-data/app-engine-datastore-how-to-efficiently-export-your-data/ and here https://stackoverflow.com/questions/21035194/reading-appengine-backup-info-file-gives-eoferror/35468260#35468260。但我两者都无法工作。所以,这就是我所做的(我最大的表约为 2GB)。尽管看起来有很多步骤,但它的工作速度相对较快......比与谷歌可能连续几个小时更改的随机代码进行斗争要好:
- 进入 Cloud Storage 并创建 2 个新存储桶“data_backup”和“data_export”。如果您已经有一个存储桶来存放东西,则可以跳过此步骤。
- 进入“我的控制台”> Google 数据存储 > 管理 > 打开您要转换的数据存储的数据存储管理。
- 勾选要备份的一个或多个实体,然后单击“备份实体”。我一次执行一个,因为我只有 5 个表要导出,而不是一次检查所有 5 个表。
- 指明您要存储它们的 Google Storage (gs) 存储桶
- 现在转到 Google Big Query(我以前从未使用过这个,但上手很简单)
- 单击向下的小箭头并选择“创建新数据集”并为其命名。
- 然后单击刚刚创建的新数据集旁边的向下箭头并选择“创建新表”。逐步执行导入步骤,选择“选择数据”步骤下的“云数据存储备份”。然后选择要导入 Big Query 的备份,以便在下一步中将其导出为 csv。
- 表导入后(这对我来说相当快),单击表名称旁边的向下箭头并选择“导出”。您可以直接导出到 csv,并且可以保存到您为导出创建的 Google 存储桶,然后从那里下载。
这里有一些提示:
- 如果您的数据具有嵌套关系,则必须导出为 JSON 而不是 CSV(它们还提供 avro 格式,无论是什么)
- 我使用 json2csv 来转换无法保存为 csv 的导出 JSON 文件。它在大桌子上运行有点慢,但可以完成。
- 由于 json2csv 中的 python 内存错误,我不得不将 2GB 文件拆分为 2 个文件。我使用 gsplit 来拆分文件,并选中“其他属性”>“标签和标题”>“不添加 Gsplit 标签”下的选项...(这确保 Gsplit 不会向拆分文件添加任何数据)
就像我说的,尽管有很多步骤,但这实际上很快。希望它可以帮助人们避免花费大量时间尝试转换奇怪的备份文件格式或运行可能不再工作的代码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)