2013-07-06 133 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中計劃的查詢。通常,如果您提前計劃好,那些查詢應該相對便宜和簡單。

當然,這個解決方案有所妥協,並且添加你沒有準備好的重複查詢(可能會重新處理和更新一些數據)並不會很微不足道。但是,希望您能夠很好地規劃好您的需求,並且您可以提供合理數量的請求,而不會造成速度變慢或代價過高。

相關問題