RICH-ATONE

Presto与Hive语法差异

Presto与Hive的语法差异示例:

 
Presto
Hive
备注
数组 数组有动态下标,下标从1开始 下标从0开始  
标识符 不能以数字开头命名,与java保持一致  
string varchar string  
运算 5/2=2 (presto取整) 5/2=2.5 (hive自动转换为小数点类型)  
列转行 unnest laterval view explode()  
JSON处理 json_extract_scalar get_json_object  
date转string(是否支持隐式转换) 不支持 支持  
concat char和varchar不支持连接 支持  
semi join 不支持 支持  
cross join 不支持on

支持on

 
大表小表关联 需要把大表放在前面(手动操作) hive小表放到前面效率高(自带优化)  
cube函数 presto:group by cube (gn,server_id,group_base,pl) hive:group by gn,server_id,group_base,pl with cube  
nvl函数 不支持nvl函数,可以使用coalesce代替; nvl(name,-9)  

posted on 2022-08-22 19:39  RICH-ATONE  阅读(345)  评论(0编辑  收藏  举报

导航