ロックとチュウーハイとこりんがるな日々

日々のインプットした事をアウトプットする場所

presto

prestoで整数同士の割り算をすると整数が返される問題の解決方法

prestoで整数同士の割り算を行う整数が返却される場合は良いが以下のような場合に0が返却される select (10 / 5); 予想される値は 0.5 だが prestoの場合は 0 が返却されてしまう 正常に0.5 を返却してもらうためには以下のようにする必要がある select (10 …

prestoの便利関数 url_function

prestoにはURLを分解する関数が付いています、使うと正規表現で分割してたのがアホらしくなるほど便利なんでめもっときます select url_extract_fragment('http://www.hoge.com:8080/fuga/var/index.php?flag=1&flag2=2#test'), url_extract_host('http://ww…

prestoで縦持ちのテーブルを横持ちのテーブルに変換する

prestoで縦のテーブルを横のテーブルに変換する方法です with o as ( select id, age_range, count(td_url) as count from m group by id, age_range ), p as ( select id, MAP_AGG(age_range, count) as kv from o group by id ) select id, IF(kv[20] is n…

TreasureData 前日分のログを指定する方法

最近Treasurdataを使っています 何回か同じ事を調べたのでメモです hiveとprestoで現在のunixtimestampの取得方法が違ったので以下に書きます hive select * from a where TD_TIME_RANGE( time, TD_TIME_FORMAT(TD_TIME_ADD(unix_timestamp(), '-1d'), 'yyyy…