开源大数据社区 & 阿里云 EMR 系列直播 第二期
主题:MLSQL - 可编程的 SQL
讲师:祝海林,Kyligence 资深数据架构师
议题重点:重点讲解 MLSQL 的一些语法特性,通过这些特性的覆盖,我们可以看到 MLSQL 是怎么作为一个可编程的 SQL 语言的
直播回放链接:https://www.slidestalk.com/w/399
前言
SQL 简单易用,但是现在大家用的多了,也慢慢发现它还是存在诸多问题的。我们认为良好的编程应该是创建小型、可理解、可重用的逻辑片段,并且这些逻辑片段还要被测试、被命名、被组织成包,而这些包之后可以用来构造更多有用的逻辑片段,这样的工作流程才是合理又便捷的。更进一步的,这些“高阶”能力应该是可选的,我们总是希望用户一开始能用最简单的方式来完成手头的工作。尽管如此,现在的 SQL 并不能很好的支持我们前面提到的这些。
这次分享重点介绍了 MLSQL 的一些语法特性,通过这些特性的覆盖,我们可以看到 MLSQL 是怎么作为一个可编程的 SQL 语言的。
内容概述
为什么 SQL 是数据时代的标准,而不是像 Python 这样的通用语言?因为用 Python 你可以解决大部分你不需要解决的问题,所以你相当于拿到了零部件,而不是一辆能跑的汽车。你花了大量时间去组装汽车,而不是去操控汽车。大部分同学核心要解决的是数据操作问题。SQL 就是这么一个方便你操作数据的语言。
你不需要关注 CPU ,内存,临时变量,线程这些和计算机相关的概念,SQL 可以让你很自然的用语言去告诉计算机怎么操作这些数据,你只要描述好了你的数据操作逻辑,剩下的交给计算机就好了。
但是 SQL 也存在一定的局限性。
时代在变,SQL 也需要与时俱进,而 MLSQL 正好是这个与时俱进的结果。
可编程能力:脚本化
可编程能力:模块化
可编程能力:Snippet Template
可编程能力:分支语法支持
可编程能力:Python 支持
可编程能力:Java / Scala 函数扩展
可编程能力:命令行封装
可编程能力:语言扩展点
MLSQL 特点总结
MLSQL Engine 逻辑分层图
最后,但是也是最重要的:如何保证数据安全?
解析时权限控制原理示意图
运行时权限控制原理示意图
语法元素权限控制原理示意图
后续我们会在钉钉群定期推送精彩案例,邀请更多技术大牛直播分享。欢迎有兴趣的同学扫下方二维码加入钉钉群进行交流和技术分享。关注公众号,锁定每周精彩分享内容!