TreasureDataで前月とか前々月とか指定したい
1885 ワード
追記 ※以下のやり方はtime indexが使えないので結果的に無意味でした\(^o^)/
詳しいことは中の人のコメント参照で
TD_TIME_ADDはmonthで指定できない
http://docs.treasuredata.com/articles/udfs#tdtimeadd
どうやら月は28日だったり31日だったりと固定じゃないためできないらしい。
この問題は結構前から言われてますが、特にその後変化があるわけでもないようです。
代替案
TDがダメならHiveの関数を使えばいいじゃない、ということで
https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF
add_months()
を使ってみる
うーん、パフォーマンスは上がりませんが、現状取り得る手法としては悪くないと思います。
SELECT
add_months(from_unixtime(time), -3) --前前前月
使うとしたらこんな感じでしょうか?
WHERE
TD_TIME_RANGE(time,add_months('2018-02-01', -3),NULL,'JST')
Author And Source
この問題について(TreasureDataで前月とか前々月とか指定したい), 我々は、より多くの情報をここで見つけました https://qiita.com/ken11_/items/1d352178e1e572513d1e著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .