暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

一篇看懂!MLSQL 是如何作为一个可编程的 SQL 语言的?

>>>>

点击上方蓝字关注我们,获取最新技术资讯


开源大数据社区 & 阿里云 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 逻辑分层图

最后,但是也是最重要的:如何保证数据安全?

解析时权限控制原理示意图

运行时权限控制原理示意图

语法元素权限控制原理示意图


END



阿里巴巴开源大数据技术团队成立Apache Spark中国技术社区,定期推送精彩案例,技术专家直播,问答区Spark技术同学在线提问答疑,只为营造纯粹的Spark氛围,欢迎钉钉扫码加入!



👇阅读原文,快速回看直播视频~
文章转载自Apache Spark技术交流社区,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论