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

简介: 重点讲解 MLSQL 的一些语法特性,通过这些特性的覆盖,我们可以看到 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 也存在一定的局限性。
1.png

时代在变,SQL 也需要与时俱进,而 MLSQL 正好是这个与时俱进的结果。
2.png
3.png

可编程能力:脚本化

4.png

可编程能力:模块化

5.png
6.png

可编程能力:Snippet Template

7.png

可编程能力:分支语法支持

8.png

可编程能力:Python 支持

9.png

可编程能力:Java / Scala 函数扩展

10.png

可编程能力:命令行封装

11.png

可编程能力:语言扩展点

12.png
13.png

MLSQL 特点总结

14.png

MLSQL Engine 逻辑分层图

15.png

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

16.png

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

17.png

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

18.png

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

19.png


后续我们会在钉钉群定期推送精彩案例,邀请更多技术大牛直播分享。欢迎有兴趣的同学扫下方二维码加入钉钉群进行交流和技术分享。关注公众号,锁定每周精彩分享内容!

图片1.png

相关实践学习
数据湖构建DLF快速入门
本教程通过使⽤数据湖构建DLF产品对于淘宝用户行为样例数据的分析,介绍数据湖构建DLF产品的数据发现和数据探索功能。
快速掌握阿里云 E-MapReduce
E-MapReduce 是构建于阿里云 ECS 弹性虚拟机之上,利用开源大数据生态系统,包括 Hadoop、Spark、HBase,为用户提供集群、作业、数据等管理的一站式大数据处理分析服务。 本课程主要介绍阿里云 E-MapReduce 的使用方法。
相关文章
|
7天前
|
SQL 存储 BI
【软件设计师备考 专题 】数据库语言(SQL)
【软件设计师备考 专题 】数据库语言(SQL)
93 0
|
7天前
|
SQL Perl
PL/SQL编程基本概念
PL/SQL编程基本概念
18 0
|
7天前
|
SQL 数据库 数据库管理
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(一)模式、表、索引与视图
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(一)模式、表、索引与视图
68 11
|
7天前
|
SQL Oracle 关系型数据库
【Oracle】玩转Oracle数据库(五):PL/SQL编程
【Oracle】玩转Oracle数据库(五):PL/SQL编程
67 8
|
7天前
|
SQL 算法 数据库
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
116 6
|
2天前
|
SQL 分布式计算 关系型数据库
Spark编程实验三:Spark SQL编程
Spark编程实验三:Spark SQL编程
18 1
|
2天前
|
SQL 存储 数据库
SQL语言的主要组成部分有哪些?
【5月更文挑战第20天】SQL语言的主要组成部分有哪些?
9 1
|
7天前
|
SQL Oracle 关系型数据库
实验四 SQL语言
实验四 SQL语言
7 2
|
7天前
|
SQL 数据库
数据库SQL语言实战(六)
本次实战的重点就在于对表格本身的一些处理,包括复制表格、修改表格结构、修改表格数据
|
7天前
|
SQL Oracle 关系型数据库
数据库SQL语言实战(五)(数据库系统概念第三章练习题)
本文的SQL语言适用的是Oracle数据库与mySQL可能存在略微不同