Google BigQuery と Elasticsearch に timestamp を入れる
BigQuery の TIMESTAMP 型は以下のフォーマットを受け付けます。
Data types
Elasticsearch の date は以下のフォーマットを受け付けます。
date format
う〜ん、タイムゾーンを絡めると Elasticsearch には BigQuery が要求する TIMESTAMP 型の組み込み型がないですね・・・というわけでカスタムフォーマットを使いましょう。
そのために、入力するタイムスタンプは
2015-01-03 00:40:35.220 +09:00
とします。で、
curl -XPUT http://localhost:9200/FIXME/ -d "`cat es_timestamp.json`"
es_timestamp.json
{ "template": "*", "mappings": { "FIXME": { "_source": { "compress": true }, "properties": { "timestamp": { "type": "date", "format": "yyyy-MM-dd HH:mm:ss.SSS ZZ", "index": "not_analyzed" } } } } }
timestamp フィールドの型をカスタムフォーマットで指定します。
FIXME はご利用の環境に応じて適切に変更してくださいませ。