0

わかりましたので、どういうわけかgithubarchiveデータを使用する単純なWebアプリを構築したかったのです。最初は BigQuery データベースとその API を使用するつもりでしたが、私の無料割り当ては 1 日で終了してしまいます。

だから、私がやったことは、サイトからすべての 2012/2013 レコードをダウンロードし、それらをフォルダーに抽出することです。今では、アプリのデータを取得するために使用したい 10,000 以上の json ファイルがあります。

だから私が欲しいもの: このデータを視覚化する GAE (python) または Django アプリを作成します。このために、json ファイルをデータベースに変換する必要があります。SQLite を使用したいのですが、どれが最適かわかりません。DB の作成がまったく必要かどうかはわかりませんが、それが今考えられることです。

誰か私に提案はありますか?

4

2 に答える 2

1

AppEngine も、一定の割り当てを超えると無料ではありません。10,000 以上の Json ファイルをインポートしてから分析を行うのは、無料の割り当てをはるかに超えていると確信しています。

また、AppEngine のクエリ言語は非常に限られているため (クロスエンティティ クエリ、結合、単一の不等式フィルターは使用できません)、意味のある分析を行うことができません。BigQuery を使用してコストを抑えるか、自分のマシンで分析を行い、統計を GAE にエクスポートしてプレゼンテーションに使用します。

GAE と BQ はどちらも高速な大規模並列の高可用性サービスであり、本番アプリケーションに使用する必要があります。予算が限られており、高可用性を必要としない場合は、手頃な価格の VPSを使用してください。

于 2013-07-06T07:10:41.230 に答える
0

制約を考えると、ローカル マシンでファイルを処理し、クエリ可能な結果を​​ AppEngine Datastoreに保存し、そこからユーザーに提示することが最善の策のようです。データを処理してクエリ可能な結果を​​準備できるかどうかに応じて、Cloud-SQL (MySQL) を検討することもできます。

いくつかの提案された手順:

  1. 何を表示するか、何を照会できるようにするかを正確に決定します。その情報から、最も簡単に実行できるデータ形式を決定します。
    • あなたの例から、言語のレポを持つ約100GHのユーザー。次に、ユーザー、言語、および場合によってはリポジトリの数などの他のフィールドを含むテーブルを作成します。
  2. 持っているデータ ファイルを処理し、1 で定義したテーブルとフィールドに書き込みます。
    • あなたのケースでこれを行うための最良の方法は何かを決定する必要があります。ローカルで実行して各ファイルを解析し、メモリ内のいくつかの値を追跡し、完了時にそれらをサーバーに書き込む単純なアプリを作成する場合があります。また、ローカル データベース サーバー (MySQl、PostgreSQL など) にインポートしてクエリを実行し、サーバーに書き込むか、いくつかのマップ削減ジョブを実行することもできます。
    • アプリに API がある場合は、データを取得したら、それを AppEngine に配置できます。そうでない場合は、Remote-API が迅速なソリューションです。
  3. 1 で計画したクエリを実行するフロント エンド Web サイトを設計します。一般に、これらのクエリは、事前に十分に計画していれば、比較的安価で単純なものになるはずです。

もちろん、このソリューションには妥協点があり、簡単に準備できなかった ah-hoc クエリを追加することは簡単ではありません (データの再処理と更新が発生する可能性があります)。ただし、うまくいけば、ニーズをうまく計画でき、処理が遅くなったりコストがかかったりすることなく、適切な数のリクエストに対応できるようになります。

于 2013-07-07T13:48:58.350 に答える