hive & presto
emmajinxin
程序媛,算法攻城狮
展开
-
【presto & hive 对比4】获取数组长度
如何获取数组长度呢?hive: size 函数presto: cardinality函数--数据表 test_tb --字段 user_ids, 为逗号分隔的用户id--hive size函数select size(split(user_ids,',')) from test_tb-- prestoselect cardinality(split(user_ids,',')) from test_tbps: hive的数组index从0开始 presto的数组index从1开始原创 2021-04-30 21:26:23 · 1193 阅读 · 1 评论 -
【presto & hive 对比3】分位点提取
--hiveselect '20210202' as log_date, percentile_approx(prob,array(0.25,0.5,0.75,0.95),9999) from ai.push_recsys_open_status_pred_buvid where log_date='20210202';--prestoselect '20210202' as log_date, approx_percentile(prob,array[0.25,0.5,0.75,0.95],9999原创 2021-02-05 14:28:19 · 5226 阅读 · 0 评论 -
【presto & hive 对比2】json字符串提取,行转列,位运算
json字符串提取--hiveselect get_json_object(json, '$.book');--Prestoselect json_extract_scalar(json, '$.book');--注意这里Presto中json_extract_scalar返回值是一个string类型,其还有一个函数json_extract是直接返回一个json串,所以使用的时候你得自己知道取的到底是一个什么类型的值.列转行有两个字段, user_id, scores(分别是用户的得分)原创 2020-11-16 23:24:27 · 967 阅读 · 0 评论 -
【presto & hive 对比1】presto 与 hive的时间转换对比
工作中经常遇到的问题log_date:20200110 需要转换为标准日期,或者与时间戳数据进行比较工作环境涉及到presto与hive, 利用presto检查查询时速度更快,因此一般需要同时用presto和hive的语法对日期进行转换因此本篇博文主要对最近用到的时间转换进行梳理问题1:时间格式转换例子: 当前时间-20200110 转化为2020-01-10--输出 2020-01-10--hiveselect to_date(from_unixtime(UNIX_TIMESTAMP(原创 2020-07-26 15:44:58 · 1658 阅读 · 0 评论