2017-07-19 7 views
1

私はほぼ60-70のタイミングログファイルを持っています(すべてが.csvファイルで、合計サイズは約100MBです)。私はこれらのファイルを一度に分析する必要があります。今まで、私は次の方法を試してみた:複数のCSVファイルを非常に効率的に分析するには?

  • は、単一のファイルにすべてのこれらのファイルをマージしてDATAFRAME(パンダのPython)でそれを保存し、それらを分析しました。
  • すべてのcsvファイルをデータベーステーブルに格納し、分析しました。

これらの2つの方法のどちらが優れているか疑いがありますか?あるいは、これらのファイルを処理し分析する他の方法はありますか?

ありがとうございました。

+0

回答が役に立ちましたか?もしそうなら、それらを受け入れるかupvoteするか、それ以上の質問をしてください。 – Quickbeam2k1

答えて

0

私の場合、通常、ファイルをDataFrameにマージしてピクルとして保存しますが、マージするとファイルがかなり大きくなり、使用時に多くのRAMが消費されますが、マシンラムがたくさんある。

データベースの保存は長期的には有効ですが、csvをデータベースにアップロードする時間を無駄にして、特定のものをクエリする場合はデータベースを使用した経験からさらに時間を浪費しますあなたがこのような方法よりもすべてを照会するためにパンダを使用する場合は、日付Aから日付Bまでのログを望むなどの表はあまり良くありません。

あなたのユースケースによっては、マージする必要がない場合もあります。ファイルシステムを使用して処理する適切なログを取得し、取得する方法としてファイル名を使用します。分析のみを行い、保存しないと、将来の処理のためにピクルとして保存することができます。

0

正確には単一の分析を意味しますか?

私はあなたの問題(s)は、それはあなたのマシンのRAMに快適にフィット場合、DASKのドキュメントが一つの大きなデータフレームで動作するように推奨していることに注意してください、しかし

daskを使用して解決し、特にdask dataframeかもしれないと思います。 しかし、daskの利点は、pandasよりも優れた並列化または分散コンピューティングサポートを持つことです。

関連する問題