LoginSignup
2
0

More than 5 years have passed since last update.

csvをTreasureDataに取り込んでエクセルの代わりに使う。

Last updated at Posted at 2019-04-24

普段の業務で、csvを処理する事が多い。

色々なシステムから出力されるcsvは、文字コードがShift-JISだったり、UTF8だったり、UTF8のBOM付きだったり、文字コードがバラバラで、excelで文字化けせずに開けるCSVファイルと文字化けするCSVがある。

なので、excelで開くために、テキストエディタで文字コードを変更したりする。

面倒で、numbersで開いたりもする。

エンジニアといっても、excelを使いこなす事ができる訳でもなく、フィルターくらいしか使っていない。

集計も、excelの関数を覚えていないので、本当に面倒。

そのフィルターや集計結果も疑心暗鬼。

今まで、csvを使って複雑な処理をするときは、データベースにインポートしたり、nodejs、java, phpなどプログラミングツールを使ってプログラミングで処理をしていた。

treasuredataを導入してからは、s3にcsvをアップ、Embulkでcsvのインポート処理の設定を吐き出して、treasuredataにcsvインポートでデータベースのテーブルを作って、SQLでフィルターや集計をしている。

treasuredataが、schemaレスのDBなので、ほぼ何も考えず、いい感じデータベースにcsvのデータを流し込めるところがいい。

面倒なインポート設定は、Embulkが勝手に作ってくれる。s3にアップしたcsvを参照するseedファイルを作って、Embulkでインポート設定ファイルを作って、treasuredataのworkflow に食わせる。文字コードもいい感じで処理してくれる。

Embulkは、一行コマンド。

あとは、treasuredataのworkflow を実行して、csvをデータベースに流し込んで、作成されたデータベースに、SQLを実行する。

SQLの結果は、csvでダウンロードする事も出来るので、excelのフィルター的な使い方にいい。

treasuredataのSQLは、数行のテストデータでも、数万行の本番データでも同じくらいのスピードで処理してくれるのでいい。

常に本番データを使って色々試せる。

あと、treasuredataで作業すると、SQLなどが残るという事。excelで色んな関数使って、何やってるかわからなくなることがなくなる。

SQLなので、自分が書いたフィルターや集計処理の結果も安心感がある。

シェアも出来てレビューも出来る。
わからなくなったら、treasuredataに質問できる。

これは、
treasuredataのイレギュラーな使い方。
でも本当に便利。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0