by shigemk2

当面は技術的なことしか書かない

presto

presto 0.200

presto 0.200 だいたい10日くらいのスパンでマイナーバージョンアップするのに、今回は意外と早い。 でもlog()関数削除されたことくらいかな。 https://prestodb.io/docs/current/release/release-0.200.html

presto date_parse

presto date_parse dateな文字列をパースしてtimestampに変換する 使い方は公式のテストコードを読むこと 日付のフォーマットはMySQLのものに準拠 https://prestodb.io/docs/current/functions/string.html

memo presto 0.199

memo presto 0.199 hmac系関数の追加 array_sort関数 ラムダ機能の追加 group byとunion allのコンボで集計する時のメモリ使用量を節約 https://prestodb.io/docs/current/release/release-0.199.html

memo from hive to presto manual

memo from hive to presto manual 配列の添字演算子は完全式をサポート 配列範囲外へのアクセスは例外 配列インデックスは1から とか、色々書いてる https://prestodb.io/docs/current/migration/from-hive.html

presto union vs union all

presto union vs union all 御覧頂いて。Presto 0.198 union allは全表示だけど、unionは重複データは消える presto> SELECT 13 UNION ALL SELECT * FROM (VALUES 42, 13); _col0 ------- 42 13 13 (3 rows) presto> SELECT 13 UNION SELECT * FROM (VALUES …

memo presto variance

memo presto variance 分散を出す集約関数 variance var_pop var_sample https://prestodb.io/docs/current/functions/aggregate.html

memo presto approx_percentile

memo presto approx_percentile 分布に最も近い値を取り出す感じ。 percentile→分布 https://prestodb.io/docs/current/functions/aggregate.html

memo presto map

memo presto map ここにある関数はmapのデータ構造を操作するものであって、Scalaのmapてきな使い方じゃない https://prestodb.io/docs/current/functions/map.html

presto join type

presto join type JOIN だけだと INNER JOIN として扱われる。そうですね。 [ INNER ] JOIN LEFT [ OUTER ] JOIN RIGHT [ OUTER ] JOIN FULL [ OUTER ] JOIN CROSS JOIN https://prestodb.io/docs/current/sql/select.html

presto 0.196

まだrelease note出ない Release 0.196 · prestodb/presto · GitHub

presto 0.195

あんまりぴんとくるものがなかった 11.1. Release 0.195 — Presto 0.195 Documentation Release 0.195 · prestodb/presto · GitHub

presto array_sort

presto array_sort こういうかきかた テストコードをみたら書き方が分かる arrayをソートするやつ ARRAY_SORT(ARRAY[2, 3, 4, 1]) presto/TestArrayOperators.java at master · prestodb/presto · GitHub presto/presto-main/src/test/java/com/facebook/pre…

presto array

prestoのarrayにはlength的な関数はなかった… 6.15. Array Functions and Operators — Presto 0.194 Documentation

presto url_encode url_decode

presto url_encode url_decode PrestoではURLエンコードやデコードも出来るとな。 presto/TestUrlFunctions.java at master · prestodb/presto · GitHub

presto extraneous input

presto extraneous input このように書くと extraneous inputってなるので select date_diff(timestamp datetime1, timestamp datetime2) from table; このように書いてごまかした。 select date_diff(cast(datetime1 as timestamp, cast(datetime2 as times…

presto values

presto values インラインテーブルを定義。 だから、擬似的にテーブルが作れる。 SELECT id FROM ( VALUES (1, 'a'), (2, 'b'), (3, 'c') ) AS t (id, name) 擬似的にテーブルが作れるので、distinctなども実行できる。 SELECT DISTINCT id FROM ( VALUES 'a…

usage presto date_diff

usage presto date_diff 使い方がテストコードにのっていた。 select date_diff('second', timestamp1, timestamp2) L586-L594 https://github.com/prestodb/presto/blob/master/presto-main/src/test/java/com/facebook/presto/operator/scalar/TestDateTim…

presto with

presto with withよくわかんなかったけど、サブクエリの簡素化だね、やっていることは。 WITH dataset AS ( SELECT * FROM ( VALUES (1, 'A'), (2, 'B'), (3, 'C'), (4, 'D'), (5, 'A'), (6, 'B'), (7, 'C'), (9, 'A'), (10, 'B'),(11, 'C'), (13, 'A'),(14,…

presto explain

RedashからAthenaでexplainを実行してみたけどサポートしてないtype的なエラーで怒られた。 8.18. EXPLAIN — Presto 0.193 Documentation AWS Athenaを使って 30TBのWeb行動ログ集計を試みた from Tetsutaro Watanabe www.slideshare.net

memo tablesample

memo tablesample TABLESAMPLEという構文がありまして、 SELECT * FROM users TABLESAMPLE BERNOULLI (50); みたいな感じで使える。使えるのだけれど、説明が何を言っているのか分からない。 https://prestodb.io/docs/current/sql/select.html なお、 BERNO…

presto select test

presto select test もういつもそうだけどテストコードとかを見ていたほうが良いことがありまして、 selectぶんの使い方すらテストコードを見たらなんとなく分かったりする やりたかったのは、疑似レコード。

parse_datetime

parse_datetime Parses string into a timestamp with time zone using format. ってあるけど書き方がよく分からない。 テストコードを見るとなんとなくイメージが湧く。 https://github.com/prestodb/presto/blob/master/presto-main/src/test/java/com/fac…

presto current_timestamp

presto current_timestamp こんな感じ。 select date_format(current_timestamp AT TIME ZONE 'Asia/Tokyo', '%Y-%m-%d'); https://prestodb.io/docs/current/functions/datetime.html

presto RIGHT JOIN

presto RIGHT JOIN いつも通りRIGHT JOINが使えます https://prestodb.io/docs/current/sql/select.html

release 0.191

release 0.191 こんなものか General Changes Resource Groups Changes CLI Changes Hive Changes Thrift Connector Changes MySQL, PostgreSQL, Redshift, and SQL Server Changes https://prestodb.io/docs/current/release/release-0.191.html

presto timestamp

timestampは関数じゃない。型。 select timestamp '2012-08-08 01:00'; みたいな書き方はOKだけど select timestamp col1 from tbl1; みたいな書き方はColumn 'timestamp' cannot be resolvedって怒られて失敗する。 https://prestodb.io/docs/current/funct…

NULL values are not allowed on the probe side of SemiJoin operator

NULL values are not allowed on the probe side of SemiJoin operator サブクエリの中が空だとNULL values are not allowed on the probe side of SemiJoin operatorになるっぽい presto> select null in (select 1 where false); Query xxxxxxxxxxxxxxxxxx…

presto round

presto round round(x,d) round(x) same as inputって書いてあるから、xの型doubleだと戻り値もdoubleになるし、integerならintegerが帰って来る presto> select round(22); _col0 ------- 22 (1 row) presto> select round(22.5); _col0 ------- 23.0 (1 ro…

create schema on presto

create schema on presto たぶんそんなに難しくない CREATE SCHEMA web とか CREATE SCHEMA hive.sales とか。 https://prestodb.io/docs/current/sql/create-schema.html

presto 0.187

presto 0.187 https://prestodb.io/docs/current/release/release-0.187.html Fix a stability issue that may cause query failures due to a large number of HTTP requests timing out. The issue has been observed in a large deployment under stress.…