ひょんな事から、お声掛けいただき、とあるPOSデータを取り扱っている会社にお世話になっている。
RedShiftやBigQueryが標準装備されてれば良いのだけれど、そんなリッチな会社は数少ないので、大抵は(ホントは嫌だけど)ローカル環境にPostgreSQLやMySQL環境を構築し、複数あるデータソースをチマチマ前処理していく。
・・・で問題になるのが頂いた激重なデータのカラム構成をサクッと確認したいとき。例えばカラム名とそこに格納されているvalue値などね。
一般的なテキストエディタはGB単位になると開けない
通常のテキストエディタは読み込み元のファイルが10MBだろうが100GBだろうが、全件ロードしてから描画する。そして100GBレベルになると大抵のテキストエディタはクラッシュして落ちる。
で結局使ってるのがEmEditor。
SAS、SPSS、ACCESSとかにあるような簡易ビュー的な機能があって、全件ロードせずに先頭から(または中間から、最終行から)○MB単位を指定して簡易ビューとしてファイルの中身を確認できる。
スクリプトも掛けるし、置換機能もイケているので、ちと高いがおすすめです。Sublime Text一択だったのにこんなテキストエディタがあるとは…
製品仕様
主要な部分だけまとめておきました。詳細は該当製品のページにて。調べていたら鈴川エディタたるスゴエディタもあったので貼っときますね。使っている人いらたレポください(笑)
・EmEditor(https://jp.emeditor.com/)
− 販売形式: シェアウェア(買い切り18,000円/サブスクリプション4,800円~もあり)
− 対応OS: Windows系
− ファイル読み込み容量: 248GB以上可能
− 対応行数: 21億行
・鈴川エディタ (http://www.szkwjp.com/)
− 販売形式: シェアウェア(買い切り/サブスクリプションもあり)
− 対応OS: Windows系 ※Win10も対応
− ファイル読み込み容量: 5TB以上可能
− 対応行数: 2兆5000億行以上
購入後レビュー
で、EmEditorの永久ライセンスを購入しました。
最新versionはテキストファイル(CSV、TVS等)のユニオン、ファイル分割、複数ファイル(特定キーをマッチングさせた)JOIN・LEFT JOIN・RIGHT JOIN、Outer・JOINなどもサクッと対応可能です。
ローカルPCのスペックにもよりますが、メモリ32GB、CPU−Corei7の構成で1億行、30GB(非圧縮状態)のデータなら、30分〜数時間で数ステップの処理が可能でした。
※公式ではより多くのデータが操作が可能とのことですが、肌感では1億行程度がストレスを感じずにできる限度なのかも(ストレージ環境がHDD環境だった為、SSD環境ならもうちょっと早いかもです)
ローカルで作業しなきゃならない環境なんやー!という方、2万円という価格帯でしたら社内の予算もおりやすいかと思いますのでぜひ参考にしてください。
それではまた。