2017-01-09 12 views
3

私はcsvフォーマット(数値+ユニコードテキスト)で100-300Goのデータを持っており、これに対して通常のピボットテーブルジョブを実行する必要があります。/StackOverflowの-INGをグーグル後、(部分的にしか)満足のいく答えを見つけることができませんでした。 シングルマシン(64Go RAM)で最も速い解決策を見つけよう:Pythonの大規模なピボットテーブル

1)PostGresに変換して挿入し、PostGres DBにSQLで処理しますか? (またはMySQL ....)

2)csvをPandasのチャンクにロードし、手動で1つずつ処理しますか?

3)csv +をHDFに変換し、HDFをチャンクで処理しますか?

4)その他の解決策。

答えて

0

単一のマシンで作業する場合、PostgreSQLは、あなたがリストした3つのオプションの中から最も適しているかもしれません。

メモリの使用状況を確認するには、partitioningを使用し、データをチャンクで処理します。

+0

実際のピボットテーブルの経験はありますか? – Tensor

+0

ええ、私は前に、ピボットテーブルやOLAPキューブを構築するために、これらの3つのツールを使用しました。数100GbのpostgreSQLの範囲では、データを分割してメモリ内で動作し、SWAPの使用を避ける限り、うまく機能します。 – PabTorre

+0

どのようなあなたのピボットテーブル2000人の列を持っている場合はどうなりますか?リミットあなたは新しい質問する@ user798719にそれを投稿する必要があり – user798719

関連する問題