1

昨日、App Engine データストアにアップロードしようとした位置情報データの 10 MB の CSV ファイルがあります。このブログ投稿の指示に従い、bulkloader/appcfg ツールを使用しました。データストアは、レコードがアップロードされたことを示していましたが、数時間かかり、その日の CPU クォータをすべて使い果たしました。実際にクォータを超える前に、プロセスは最後にエラーで中断しました。しかし、言うまでもなく、10 MB のデータにこれほど多くの時間と電力が必要になることはありません。

この CSV データを App Engine データストア (Java アプリ用) に取得する他の方法はありますか。

Ikai Lan がこの目的のために作成したマッパー ツールの使用についての投稿を見ましたが、かなり複雑に見えます。

代わりに、CSV を Google ドキュメントにアップロードするのはどうでしょうか。そこから App Engine データストアに転送する方法はありますか?

4

2 に答える 2

1

バルクローダーを使用して、毎日 100000 レコード (20 メガバイト) のアップロードを行っています。私が遊んだ設定: - bulkloader.yaml 構成: キーを自動生成するように設定します。- 生の csv ファイルにヘッダー行を含めます。- 速度パラメーターは最大に設定されています (削減によって消費される CPU が削減されるかどうかは不明です)

これらの設定は、約 4 分で 6.5 時間の無料クォータを使い果たしますが、データが読み込まれます (おそらく生成されたインデックスから)。

appcfg.py upload_data --config_file=bulkloader.yaml  --url=http://yourapp.appspot.com/remote_api --filename=data.csv --kind=yourtablename --bandwidth_limit=999999 --rps_limit=100 --batch_size=50 --http_limit=15

(スクリプトを使用してこの行を自動生成し、Autohotkey を使用して資格情報を送信します)。

于 2011-05-03T01:38:22.683 に答える
0

この gdata コネクタを作成して、Google Docs スプレッドシートからデータを取り出してデータストアに挿入しましたが、Bulkloader を使用しているため、問題の 1 つに戻ってしまいます。

http://code.google.com/p/bulkloader-gdata-connector/source/browse/gdata_connector.py

ただし、バルクローダーを使用する代わりに、ソースを見て、gdocs からデータを引き出し、それを行うタスクを作成する方法を確認することができます。

また、ドキュメントをブロブストアにアップロードし、同様にブロブストアから csv データを読み取ってエンティティを作成するタスクを作成することもできます。(これは、gdata フィードを使用するよりも簡単で高速だと思います)

于 2011-04-22T17:06:24.950 に答える