
presto
文章平均质量分 78
woloqun
这个作者很懒,什么都没留下…
展开
-
presto catalog 动态加载
最近我们在尝试在k8s上部署presto,现在有一个比较难处理的问题就是:presto的catalog的出现变更的时候(增,删,改),只能重新打包镜像,进行滚动升级;而比较理想的方式是:presto的catalog可以动态的增删改,只在presto版本升级的时候才进行镜像发版;目前公司catalog主要有hive,mysql,kudu这3种类别;hive和kudu的catalog几乎不存在变更的情况,所以我们只需要考虑mysql连接器的变更需求;实现presto catalog的动态加载有两种比较简原创 2020-08-10 14:17:25 · 4335 阅读 · 0 评论 -
连续登录天数计算
最近有个需求,计算用户连续登录的最大天数,查了查网上的解决方案,基本上都没有解决跨月和跨年的情况;废话不多少,先看下登录日志数据表hive.traffic.access_user只有两个字段:uid,day;日期辅助表hive.ods.dim_date,这个表只有一个字段day;先说下思路,uiddayrownumberday-rownumber【days】10120...原创 2019-09-24 14:03:56 · 64576 阅读 · 15 评论 -
presto sql优化
distinct 与approx_distinctdistinct这种操作会把所有计算集中在一个节点上,速度慢可想而知;如果不是精准计算的话可以考虑使用approx_distinct(x)代替count(distinct x),速度大概能够提升3倍左右,但缺点是approx_distinct有2-3%的误差(官方,有次数据测试误差达到6-7%,这个还和数据整体分布有关),如果没办法接受这个误差,...原创 2019-08-14 16:33:22 · 2894 阅读 · 0 评论 -
presto on yarn生产实践
presto on yarn方案缺点hadoop集群的jdk版本过低无法满足prestoserver需求配置文件不易维护,特别是如果涉及多个hadoop集群,这点在大公司很常见hadoop集群单独团队维护,自己没有权限创建目录之类的,这个也很常见指定coordinator节点需要使用yarn label,否则每次重启都得找coordinator节点针对上述问题,解决方案如下:hado...原创 2019-08-07 15:35:20 · 1972 阅读 · 0 评论 -
presto-0.219集成LDAP
presto 对jdk的版本比较高这里我使用的是1.8.0_181,LDAP服务我这里使用的是ApacheDS,ApacheDS的安装参照:ApacheDS 安装以及LDAPS配置(图文);需要注意的是presto集成Ldap只需要配置coordinator节点,worker节点和coordinator节点还是通过之前的http协议通信,所以本文已单节点方式集成Ldap配置JAVA_HOMEv...原创 2019-05-15 18:06:34 · 2601 阅读 · 0 评论 -
presto-jdbc二次开发基础环境配置
背景:为了集成权限系统以便对请求用户进行鉴权以及对请求进行加密解密,所以对presto-jdbc客户端进行改造git:https://github.com/prestodb/presto.git下载presto源码git clone https://github.com/prestodb/presto.git切换到最新的tag:0.218git checkout 0.218修改根目...原创 2019-03-27 15:10:13 · 1852 阅读 · 0 评论 -
presto读取redis数据
目前presto支持对redis中的string和hash类型数据,其他复杂结构暂时不支持,推荐使用hash配置redis.properties,放置在$PRESTO_HOME/etc/catalog/目录下connector.name=redisredis.nodes=localhost:6379redis.hide-internal-columns=falseredis.tabl...原创 2019-03-13 18:24:20 · 2418 阅读 · 1 评论 -
presto读取mysql中的json类型字段数据解决办法
mysql中如果字段类型为json类型的话,presto只可以查询,但是不能做转换操作,包括最常规的json函数全部不能用;说白了目前presto暂时不支持mysql 中json类型,先来看张mysql中的表CREATE TABLE `test` ( `date` date NOT NULL DEFAULT '0000-00-00' , `id` varchar(20) NOT NULL...原创 2019-01-15 17:22:48 · 3676 阅读 · 0 评论 -
presto自定义函数解析nginx log
nginx日志样例192.168.1.111 - - [01/Dec/2018:00:00:02 +0800] "GET /?from=iOS_TestController&is_login=1&oid=aaaa1111&type=answer&uid=123456 HTTP/1.1&quo原创 2019-01-14 10:57:03 · 960 阅读 · 0 评论 -
presto 关键字转译符
使用关键字当表名,表示很服气,presto对关键字转译使用双引号,例如select * from catalog.schema."order"原创 2019-01-08 12:17:08 · 4922 阅读 · 0 评论 -
presto代理层实现
用过presto的同学都知道,客服端访问presto集群,其实是通过http协议访问的presto的coordinator节点;大多数情况是没啥问题;可是服务器直接暴露给用户,或多或少还是有些安全顾虑;所以我们在客户端和presto集群之间加了一层访问代理,如下图所示所有的用户请求通过代理访问presto集群;过程如下1.客户端可以使用jdbc,Python等方式访问代理,使用方式和直接访问...原创 2018-11-22 10:25:51 · 1503 阅读 · 3 评论 -
数据仓库分层设计
最近在做数据仓库相关的工作,项目快要收尾了,总结下数据仓库数据分层设计的一些心得;虽然以前做过很多olap相关的工作,就像流量统计分析这种,这种类型分析,我们往往就弄一张大宽表和几张维度表;所有的统计分析都基于这张大宽表与维度表,在这种简单的应用场景,这种设计倒没有什么问题,简单明了;但是如果业务场景复杂,数据种类多,维度多,那数据仓库的设计就尤为重要,特别是在数据出了问题情况下,要进行排查,结构...原创 2018-09-28 16:34:32 · 3892 阅读 · 7 评论 -
计算页面停留时长的另类方式
计算页面停留时长,往常计算也页面留时长都需要跑spark或这mr任务来实现,如果能跑sql来实现那是最好不过了(sql是最好的语言),废话不多说,直接搞起注意:这里使用的计算引擎是presto首先来创建一张用户浏览记录数据表,表结构很简单只有3个字段,uid 用户id,page 页面链接,time 进入此页面的时间戳;如果有页面离开时间,那离开时间-进入时间就是页面停留时间;想的是挺好,可...原创 2018-10-11 16:49:59 · 2830 阅读 · 0 评论 -
记录线上presto集群崩溃
公司线上presto集群在周末有大量的任务失败,查看了下机群的负载,除了coordinator,所有worker的cpu和内存基本上都耗尽了,查看日志,出现了很多worker节点被下线的情况,查看jvn进程,出现了很多次FUll GC,而且时间非常长首先我们判断是不是网络问题,因为我们这边的数据主要是hdfs和mysql,在和网络同时沟通测试后,确定presto集群访问hdfs和mysql这两条...原创 2018-09-19 10:58:26 · 1206 阅读 · 0 评论 -
presto集群安装以及集成kerberos
博客地址:http://www.fanlegefan.com文章地址:http://www.fanlegefan.com/index.php/2017/07/31/prestokerberos/presto集群安装安装包下载地址https://repo1.maven.org/maven2/com/facebook/presto/presto-server/0.181/presto-server-原创 2017-08-01 22:06:46 · 6138 阅读 · 0 评论