presto是乙個分布式的sql互動式查詢引擎,基於記憶體的,可以達到hive查詢效率的5到10倍,支援多種資料來源的秒級查詢。另外除了基於記憶體之外,還有優化如下:
參考operator
example
result
+
date '2012-08-08' + interval '2' day
2012-08-10
+
time '01:00' + interval '3' hour
04:00:00.000
+
timestamp '2012-08-08 01:00' + interval '29' hour
2012-08-09 06:00:00.000
+
timestamp '2012-10-31 01:00' + interval '1' month
2012-11-30 01:00:00.000
+
interval '2' day + interval '3' hour
2 03:00:00.000
+
interval '3' year + interval '5' month
3-5
-
date '2012-08-08' - interval '2' day
2012-08-06
-
time '01:00' - interval '3' hour
22:00:00.000
-
timestamp '2012-08-08 01:00' - interval '29' hour
2012-08-06 20:00:00.000
-
timestamp '2012-10-31 01:00' - interval '1' month
2012-09-30 01:00:00.000
-
interval '2' day - interval '3' hour
1 21:00:00.000
-
interval '3' year - interval '5' month
2-7
presto 對json的處理函式是 json_array_get和 json_extract,其中json_extract與hive的get_json_object用法一致。
-- 用 json_array_get()取出jsonarray的第乙個元素
select json_array_get(xjson,0)
from
employee
limit 1;
-- presto查詢結果:
-- 用 json_extract() 在 中查詢 "王二"的年齡
-- json_extract 和 hive中的get_json_object類似
select json_extract('', '$.age')
其他更詳細參考 presto常用函式
1.時間格式化 to char time,yyyy mm dd hh24 mi ss 注意presto中沒有mm 2.非空判斷 coalesce l.remark,空 類似nvl 3.型別轉換 cast amount as decimal 36.2 cast id as varchar 4.行轉列 ...
presto 日期函式和操作
date 2012 08 08 interval 2 day 日期增加 兩天 結果 2012 08 10 presto 是乙個工具,被用來通過分布式查詢來有效的查詢大量的資料。presto 是乙個可選的工具,可以用來查詢 hdfs,通過使用 mapreduce 的作業的流水線,例如 hive,pig...
presto 掃盲 行列轉置函式
一,presto是什麼 是facebook的開源的,完全基於記憶體的並 計算,分布式sql互動式查詢引擎 是一種大規模並行處理 mpp 架構,多節點管道式執行 持任意資料來源 通過擴充套件式聯結器元件 資料規模gb pb級 使用的技術,如向量計算,動態編譯執行計畫,優化的orc和parquet re...