YYYY-MM-DD なデータを持つカラムを持つcsvファイルをembulk guessする。
すると、以下のようなcolumnsができる。
columns:
- {name: id, type: long}
- {name: account, type: long}
- {name: time, type: timestamp, format: '%Y-%m-%d %H:%M:%S'}
- {name: purchase, type: timestamp, format: '%Y%m%d'}
- {name: comment, type: string}
この状態で、embulk runとかembulk previewすると、ファイルには 2019-01-01 00:00:00.000000 +0000 という形で時刻まで出力される。
columnsのformatで指定した日付書式は、csvファイル内の文字列をtimestampに変換する際に使われるもので、出力用の書式ではないらしい。
Configuration — Embulk 0.8 documentation
Embulkローカルファイル入力メモ(Hishidama's Embulk input-local-file Memo)
GitHub - joker1007/embulk-filter-ruby_proc: Apply ruby proc code on filtering
なので、embulk-filter-ruby_procなどを用いて、改めてYYYY-MM-DDなStringに変換する必要がある。
filters:
- type: ruby_proc
columns:
- name: time
proc: |
->(name) do
time.to_s[0,10]
end
type: string