presto

presto 转换静态catlog为动态catlog

微笑、不失礼 提交于 2020-08-18 03:03:20
  近年来,基于hadoop的sql框架层出不穷,presto也是其中的一员.从2012年发展至今,依然保持年轻的活力(版本迭代依然很快),presto的相关介绍,我们就不赘述了,相信看官多对presto有或多或少的了解,详细的一些说明可以看官网(https://prestodb.io)的说明.   presto自身功能和思想富有先进性,虽然由于是内存计算,稳定性方面还有很大提升空间,但整体依然在adhoc方面有很好的竞争力.其中在catalog加载的方式上来说比较的固化,官方并没有做出动态的方案出来,导致在添加catalog后必须重启整个集群才可以将新添加的catalog数据源添加到presto中,这无疑在实际的生产环境中很不友好.尤其是在一些中台项目中,需要动态规划的东西非常多.这种模式的catalog添加方式显然不能满足我们的开发需要.   因此,在环境的加持下,对presto的加载catlog的方式的源码进行了改造,使其具有热动态添加的功能.我们采用了外部数据库作为他的catlog资源库,对其进行热加载  (1)添加restful API请求接口.   为了使框架本身具有添加catalog的功能,需要使其本身具有Api访问接口的方式来来对catalog的资源进行调整的功能 1.新增CatalogResource类来实现api的请求接口  2

SQL/PromQL? SLS时序分析选型

老子叫甜甜 提交于 2020-08-17 16:50:08
可观察性与Open Telemetry 在CNCF的 landscape 上,有专门的一个部分来展示Obserability and Analysis,什么是Observability(可观察性)? 我从OpenTelementry官网摘抄了这段描述: 可观察性包括Logging,Metrics,Tracing这三类紧密配合的数据源:metrics可以用来发现问题,利用相关的trace去找到异常节点,再看该异常节点的日志去定位根因。 很多人可能会觉得可观察性就是“旧瓶装新酒”,本质上没有任何的创新。从现实中(包括Landscape)不难理解这个说法,目前Logging,Metrics(Monitoring),Tracing都有各自的生态。实现上大家有各自的数据模型,模型中可能有也可能没有考虑和其他数据的联动,如果想要对数据做整合,就要各自做大量的适配工作。 为了解决这个问题,OpenTelementry诞生了。OpenTelementry从OpenTracing和OpenCensus合并而来,致力于可观察性的统一,他的重点在规范的制定,sdk的实现,采集系统的实现上,让大家都以一致的数据模型来产出数据. 对于数据如何存储如何使用,这个范畴太大,有非常多可能性,所以仍然需要上层产品去探索。 SLS 对Open Telemetry支撑

Presto性能调优的五大技巧

放肆的年华 提交于 2020-08-17 03:36:43
概述 Presto架构 Presto是一个分布式的查询引擎,本身并不存储数据,但是可以接入多种数据源,并且支持跨数据源的级联查询。 Presto的架构分为: Coodinator: 解析SQL语句,生成执行计划,分发执行任务给Worker节点执行。 Discovery Server: Worker节点启动后向Discovery Server服务注册,Coordinator从Discovery Server获得可以正常工作的Worker节点。 Worker: 负责执行实际查询任务,访问底层存储系统。 存储 :Presto的数据可以存储在HDFS/OBS,推荐热数据存储在HDFS,冷数据存储在OBS。 内存调优 内存管理原理 Presto有三种内存池,分别为GENERAL_POOL、RESERVED_POOL、SYSTEM_POOL。 GENERAL_POOL:用于普通查询的physical operators。GENERAL_POOL值为 总内存(Xmx值)- 预留的(max-memory-per-node)- 系统的(0.4 * Xmx)。 SYSTEM_POOL:系统预留内存,用于读写buffer,worker初始化以及执行任务必要的内存。大小由config.properties里的resources.reserved-system-memory指定。默认值为JVM max

常见的兼容性问题

拥有回忆 提交于 2020-08-16 03:11:49
常见的兼容性问题 浏览器有着大量不同的版本,不同种类的浏览器的内核也不尽相同,所以不同浏览器对代码的解析会存在差异,这就导致对页面渲染效果不统一的问题。 初始化样式 因浏览器兼容的问题,不同的浏览器对标签的默认样式值不同,如果不初始化会造成不同浏览器之间的显示差异,布局出现错乱,所以要初始化样式,达到统一的布局。 最粗暴的方案就是使用 * 初始化样式,但是其会对于所有的标签加载样式以及计算样式优先级,可能会对性能有所影响。 * { margin: 0; padding: 0; } 通常使用 Normalize.css 抹平默认样式差异,当然也可以根据样式定制自己的 reset.css 。 <link href="https://cdn.bootcss.com/normalize/7.0.0/normalize.min.css" rel="stylesheet"> 内核样式兼容 在 CSS3 标准还未确定时,部分浏览器已经根据最初草案实现了部分功能,为了与之后确定下来的标准进行兼容,所以每种浏览器使用了自己的私有前缀与标准进行区分,当标准确立后,各大浏览器将逐步支持不带前缀的 CSS3 新属性,目前已有很多私有前缀可以不写了,但为了兼容老版本的浏览器,可以仍沿用私有前缀和标准方法,逐渐过渡。 内核 代表浏览器 前缀 Trident IE浏览器 -ms Gecko Firefox

Facebook 加入 Linux 基金会及其董事会

痴心易碎 提交于 2020-08-15 11:06:16
Linux 基金会 在官网宣布, Facebook 以白金级会员身份加入 Linux 基金会 及其董事会。目前AT&T、谷歌、华为、IBM、英特尔、微软、Oracle、腾讯, VMware 都是Linux基金会的白金会员。 Linux 基金会 会员分为白银级、黄金级和白金级,白金级即最高等级,每年需缴纳会费 50 万美元,同时拥有董事会席位。 Facebook 的开源团队负责人 Kathy Kam 成为董事会一员。 Kathy Kam 曾就职于谷歌和微软,拥有 20 年的工程师、产品管理,以及开发者关系领导经验。Linux 基金会表示 Facebook 是 Linux 内核开发的积极参与者,并参与Linux基金会下的众多开源项目如 Presto, GraphQL, Osquery 以及 ONNX项目,一直推动着开源生态的发展。 相关文件下载地址 本地直接下载 来源: oschina 链接: https://my.oschina.net/u/4387561/blog/4496645