2013-07-06 83 views
0

好吧,我想构建一个简单的网络应用程序,它会以某种方式使用githubarchive数据。首先,尽管使用BigQuery数据库和它的API,但是,我的免费配额将在一天内完成。将10,000多个JSON文件转换为一个SQLite数据库?

因此,我所做的就是从网站下载所有2012/2013记录,并将它们解压缩到一个文件夹中 - 现在我有10k + json文件比我想用来为我的应用获取数据。

所以我想要:创建一个GAE(python)或Django应用程序来可视化这些数据。为此,我需要将json文件转换为数据库 - 我想使用SQLite,但我不确定什么是最佳选择。我不确定是否需要创建数据库,但这正是我现在能想到的。

任何人有任何建议吗?

+3

1.读入JSON文件。 2.插入数据库。 3.转到步骤1. –

回答

0

考虑到您的限制,似乎您最好的选择是处理本地计算机上的文件,并将可查询的结果保存到AppEngine Datastore,然后将其呈现给用户。取决于您能够如何处理数据以准备好查询结果,您还可以考虑使用Cloud-SQL(MySQL)。

一些建议步骤:

  1. 准确地确定你要显示或允许查询什么。根据这些信息,然后确定哪种数据格式最容易完成。
    • 从你的例子中可以看出100GH用户的语言回购。然后创建一个包含用户,语言和其他字段(如回购数量)的表格。
  2. 过程中的数据文件,你必须写一个你在1
    • 定义的表和字段你必须决定什么是你的情况要做到这一点的最好办法。这可能是因为你编写了一个本地运行的简单应用程序,它可以分析每个文件,跟踪内存中的一些值,并在完成服务器时写入它们。它也可能是您导入到本地数据库服务器(MySQl,PostgreSQL,...),然后查询它,然后写入服务器或运行一些地图缩减作业。
    • 一旦你有数据,如果你的应用程序有一个API,你可以把它放在AppEngine上,如果没有的话,Remote-API是一个快速解决方案。
  3. 设计您的前端网站,然后执行您在1中计划的查询。通常,如果您提前计划好,那些查询应该相对便宜和简单。

当然,这个解决方案有所妥协,并且添加你没有准备好的重复查询(可能会重新处理和更新一些数据)并不会很微不足道。但是,希望您能够很好地规划好您的需求,并且您可以提供合理数量的请求,而不会造成速度变慢或代价过高。

相关问题