Druid SqlParser理解及使用入门 - __lay

以前的项目中很少去思考SQL解析这个事情,即使在saas系统或者分库分表的时候有涉及到也会有专门的处理方案,这些方案也对使用者隐藏了实现细节。 而最近的这个数据项目里面却频繁涉及到了对SQL的处理,原来只是简单地了解Druid的SqlParser模块就可以解决,慢慢地问题变得越来越复杂,直到某天改动自己写的SQL处理的代码很痛苦的时候,意识到似乎有必要更加地了解一下相关的内容才行。 在了解学习的过程中,发现学习使用SqlParser还是得先了解ast(抽象语法树)这个概念,一搜索相关内容要么是编...阅读全文

博客园 2018-10-23 23:17 博客园

antlr4 + spark sql对业务sql进行解析

antlr4 + spark sql对业务sql进行解析通过Spark Sql实现SQL解析 在大数据平台开发过程中,会遇到血缘分析,对SQL解析并进行权限的鉴权,需要提前对SQL进行基本语法校验,这些场景都需要对SQL进行解析。 常用的sql解析工具 阿里 Druid:支持的数据库类型不少,但是解析时需要制定数据库类型,并且在使用中,对hive的语法解析版本比较老,兼容性不太好 2.Hive原生sql解析:由于在大数据平台进行业务开发时,开发人员写的SQL并一定是完全符合hive规范的,因为在...阅读全文

简书 2018-11-01 00:00 简书

Druid SQL 解析器的解析过程 - beanlam

beanlam 3k Druid SQL 解析器的解析过程 druid 发布于 2017-01-14 这篇文尝试近距离地探究 Druid SQL 解析器如何工作。 Demo 代码 以这份代码为例 /** * * * @author beanlam * @date 2017年1月10日 下午11:06:26 * @version 1.0 * */ public class ParserMain { public static void main(String[] args) { String sq...阅读全文

SegmentFault 思否 2017-01-14 00:00 SegmentFault 思否 等

OLAP中roll-up和drill-down和slicing?

拿沃尔玛来说,现在要进行OLAP分析,针对三个维分别是时间维,商品维和地点维,这三个维度抽象成图像就是一个立方体,也就是Data Cube,在时间维上是四个季度,在地点维上,是北京、洛杉矶、伦敦、东京、柏林等等,在商品维上是电子类、食品类、生活用品类,Data Cube中的每一个小立方体表示某个地点(比如北京),在某个时间(比如第一季度)在某类商品上(比如电子类)的销售额。 现在开始Rool-Up,就是将细度减少,比如你将地点扩大为北美洲、亚洲、欧洲(这是根据你原有的地点对应有哪些大洲来扩大的)...阅读全文

[Hive基础]-- 动态分区与静态分区_余额不足

前言 1、Hive分区的概念与传统关系型数据库分区不同。 2、传统数据库的分区方式:如oracle,分区独立存在于字段,里面存储真实的数据,在数据进行插入的时候自动分配分区。 3、Hive的分区方式:Hive实际是存储在HDFS上的抽象,Hive的一个分区名对应一个目录名,子分区名就是子目录名,并非一个实际字段。 即,当在插入数据的时候指定分区,其就是新建一个目录或者子目录,或者在原有的目录上添加数据文件。   动态分区和静态分区(Hive-0.14以后的特性) 1、动态分区:分区不固定;关键在...阅读全文

CSDN博客_kudu 静态分区 动态分区 2019-03-02 18:24 CSDN博客_kudu 静态分 等

拨开概念迷雾,国内网络制式和4G频段科普

随着4G的普及,“五模十三频,七模十九频”之类的电信专业用语开始来轰炸消费者。除了要判断能否支持自己的手机卡之外,现在还要再考虑手机能否支持相应的4G频段。如果希望购买的是水货手机,那还要考虑国内外的网络频段差异,以及3、4G信号回落的问题。很多人听着这些用语或许都已经头大了,所以本文将对常用的网络制式进行科普,希望本文能帮助大家,看懂手机参数表中的网络支持列表,能判断机器是否支持你的手机卡,能否使用国内的4G,以及其是否有破解网络的潜力。网络频段分配但怎么知道自己的手机卡要什么网络制式呢?这又...阅读全文

关于5G的频谱,看这一篇就够啦!

什么是“空口”?“空口”就是空中接口,也就是终端(手机)和基站之间通信的接口。和以往2G/3G/4G不同,5G的“空口”,有一个专门的名字,叫做5G NR。 NR,就是New Radio,新无线接口。学习5G“空口”(5G NR),必须先了解5G所使用的频谱。因为任何无线通信技术,都是基于电磁波,都有属于自己的频谱(工作)范围。而频谱(工作)范围,基本决定了这个无线技术的特性。那么,5G工作在哪些频谱范围呢?根据3GPP R15版本的定义,5G NR包括了两大频谱范围(Frequency Ran...阅读全文

一文读懂Wi

Wi-Fi是现代人生活中必不可少的一个角色,现在去别人家做客人们一定会问一个问题:“你们家Wi-Fi密码是多少?”去年年底,Wi-Fi联盟宣布改变Wi-Fi的命名方式,复杂的命名方式已经不复存在,Wi-Fi 6(也就是原来的802.11.ax)将是下一代Wi-Fi标准的名称,从1999年使用至今的802.11a命名格式正式退出历史舞台。除了新的名字之外,Wi-Fi 6还带来了许多好处,并且不仅仅是简单的速度提升。Wi-Fi 6今年就将进入到人们的生活中,你的下一部手机或笔记本电脑就可能支持Wi-...阅读全文

文件查看软件——Spacesniffer

用了就会爱上,爱上就会离不开。本来给C盘留下了足够的空间,而且没有往其中添加其它文件、也没有安装什么应用,为什么它就不知不觉地满了呢?每次打开电脑打开大型软件就会变卡,甚至显示磁盘空间不足。有些软件虽然删除了但有一些安装软件还是会有卸载残留,极难进行清理,又不放心安装某些国产杀毒清理软件进行清理。那么到底是什么在占据着磁盘空间呢?今天要推荐的软件叫做Spacesniffer。Spacesniffer可以帮助我们一目了然知道你电脑有啥东西,藏得再深也逃不过它的眼睛。这是一款磁盘分析软件,不用安装,...阅读全文

收藏贴-最全linux命令行快捷键(bash快捷键)_yinn

wzb56的资料库 11-01 4308 vi编辑模式下的自动补全功能:ctrl+n, ctrl+p. 在vi的编辑模式下实现自动补全功能命令:Ctrl+n、Ctrl+p。在编辑模式下, 在vi中输入单词后,文本单词将会被记忆。在vi的编辑模式下通过Ctrl+n,ctrl+p,可以实现单词(给查单词的部分字符)的自动补全和输入提示的功能。 其中: Ctrl+ n 中的n为 next 中n;Ctrl+p中的p为previous 中p。 在命令模式下,Ctrl+n相当于j...阅读全文

CSDN博客_linux 命令行快捷键 3044-06-05 00:00 CSDN博客_linux 命令 等

VirtualBox扩容失败-Progress state: VBOX_E_NOT_SUPPORTED Resizing to new size 16231956480 is not yet_weixin_40542512的博客

使用VirtualBox时,发现一个分区大小不够用,使用resize扩容,提示失败。 D:\VirtualBox>VBoxManage modifyhd "D:\vx\docker1\docker1.vdi" --resize 15480 0%... Progress state: VBOX_E_NOT_SUPPORTED VBoxManage.exe: error: Failed to resize medium VBoxManage.exe: error: Resizing to new s...阅读全文

CSDN博客 2019-09-21 13:57 CSDN博客

Hive SQL的编译过程

Hive是基于Hadoop的一个数据仓库系统,在各大公司都有广泛的应用。美团数据仓库也是基于Hive搭建,每天执行近万次的Hive ETL计算流程,负责每天数百GB的数据存储和分析。Hive的稳定性和性能对我们的数据分析非常关键。在几次升级Hive的过程中,我们遇到了一些大大小小的问题。通过向社区的咨询和自己的努力,在解决这些问题的同时我们对Hive将SQL编译为MapReduce的过程有了比较深入的理解。对这一过程的理解不仅帮助我们解决了一些Hive的bug,也有利于我们优化Hive SQL,...阅读全文

美团技术团队 2014-02-12 00:00 美团技术团队

分布式sql引擎原理分析-逻辑执行计划生成 - 云+社区

不管是传统数据库或者基于sql的分布式大数据分析工具,基本原理都是把一个sql转换成sql语法树(AST),通过对语法树的分析转换成执行计划。传统数据库会根据执行计划通过执行引擎并返回结果;而大数据sql分析工具,由于针对更大数据量而生,为了更好的扩展性、容错性和高可用,会把执行计划分成逻辑执行计划和物理执行计划,并且根据查询sql的特点切分逻辑计划,这样可以把分块的逻辑计划分配到更具扩展性的并行节点,最后根据逻辑执行计划转成物理执行计划进行查询。     本文档以当前流行的分布式大数据查询引擎...阅读全文

腾讯云 2018-08-26 00:00 腾讯云

数据库中DQL、DML、DDL、DCL的概念与区别_Levine Huang

SQL(Structure Query Language)语言是数据库的核心语言。 SQL语言共分为四大类:数据定义语言DDL,数据操纵语言DML,数据查询语言DQL,数据控制语言DCL。 1. 数据定义语言DDL 数据定义语言DDL用来创建数据库中的各种对象-----表、视图、索引、同义词、聚簇等如: CREATE TABLE/VIEW/INDEX/SYN/CLUSTER DDL操作是隐性提交的!不能rollback  2 .数据操纵语言DML 数据操纵语言DML主要有三种形式: 1) 插入:...阅读全文

CSDN博客_ddl是什么意思 2017-04-08 11:48 CSDN博客_ddl是什么意思 等

新一代垃圾回收器ZGC的探索与实践

ZGC(The Z Garbage Collector)是JDK 11中推出的一款低延迟垃圾回收器,它的设计目标包括:停顿时间不超过10ms;停顿时间不会随着堆的大小,或者活跃对象的大小而增加;支持8MB~4TB级别的堆(未来支持16TB)。从设计目标来看,我们知道ZGC适用于大内存低延迟服务的内存管理和回收。本文主要介绍ZGC在低延时场景中的应用和卓越表现,文章内容主要分为四部分:GC之痛:介绍实际业务中遇到的GC痛点,并分析CMS收集器和G1收集器停顿时间瓶颈;ZGC原理:分析ZGC停顿时间...阅读全文

美团技术团队 2020-08-06 00:00 美团技术团队

总第405篇2020年 第29篇很多低延迟高可用Java服务的系统可用性经常受GC停顿的困扰,作为新一代的低延迟垃圾回收器,ZGC在大内存低延迟服务的内存管理和回收方面,有着非常不错的表现。本文从GC之痛、ZGC原理、ZGC调优实践、升级ZGC效果等维度展开,详述了ZGC在美团低延时场景中的应用,以及在生产环境中取得的一些成果。希望这些实践对大家有所帮助或者启发。ZGC(The Z Garbage Collector)是JDK 11中推出的一款低延迟垃圾回收器,它的设计目标包括:停顿时间不超过1...阅读全文

mp.weixin.qq.com 2020-08-07 14:12 mp.weixin.qq.co 等

SQL四种语言:DDL,DML,DCL,TCL - Comm100 Testers

1.DDL(Data Definition Language)数据库定义语言statements are used to define the database structure or schema. DDL是SQL语言的四大功能之一。用于定义数据库的三级结构,包括外模式、概念模式、内模式及其相互之间的映像,定义数据的完整性、安全控制等约束DDL不需要commit.CREATEALTERDROPTRUNCATECOMMENTRENAME2.DML(Data Manipulation Langu...阅读全文

如何查看jvm中的各种参数以及默认值_wisgood的专栏

1 标准参数 标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容; 通过命令 java即可查看 如下 where options include: -d32 use a 32-bit data model if available -d64 use a 64-bit data model if available -server to select the "server" VM The default VM is server, because you are runnin...阅读全文

CSDN博客_如何查看jvm参数 2018-04-28 10:36 CSDN博客_如何查看jvm参 等

从实际案例聊聊Java应用的GC优化

当Java程序性能达不到既定目标,且其他优化手段都已经穷尽时,通常需要调整垃圾回收器来进一步提高性能,称为GC优化。但GC算法复杂,影响GC性能的参数众多,且参数调整又依赖于应用各自的特点,这些因素很大程度上增加了GC优化的难度。即便如此,GC调优也不是无章可循,仍然有一些通用的思考方法。本篇会介绍这些通用的GC优化策略和相关实践案例,主要包括如下内容: > 优化前准备: 简单回顾JVM相关知识、介绍GC优化的一些通用策略。 > 优化方法: 介绍调优的一般流程:明确优化目标→优化→跟踪优化结果。...阅读全文

美团技术团队 2017-12-29 00:00 美团技术团队