一篇看懂!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 的使用方法。
相关文章
|
29天前
|
SQL 存储 BI
【软件设计师备考 专题 】数据库语言(SQL)
【软件设计师备考 专题 】数据库语言(SQL)
90 0
|
29天前
|
SQL Perl
PL/SQL编程基本概念
PL/SQL编程基本概念
13 0
|
2月前
|
SQL 算法 数据库
【数据库SQL server】关系数据库标准语言SQL之数据查询
【数据库SQL server】关系数据库标准语言SQL之数据查询
96 0
|
2月前
|
SQL 算法 数据库
【数据库SQL server】关系数据库标准语言SQL之视图
【数据库SQL server】关系数据库标准语言SQL之视图
77 0
|
2月前
|
SQL 关系型数据库 MySQL
MySQL技能完整学习列表3、SQL语言基础——1、SQL(Structured Query Language)简介——2、基本SQL语句:SELECT、INSERT、UPDATE、DELETE
MySQL技能完整学习列表3、SQL语言基础——1、SQL(Structured Query Language)简介——2、基本SQL语句:SELECT、INSERT、UPDATE、DELETE
51 0
|
12天前
|
SQL 算法 数据库
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
74 6
|
8天前
|
SQL 数据库
数据库SQL语言实战(二)
数据库SQL语言实战(二)
|
4月前
|
SQL 存储 算法
数据库编程大赛:一条SQL计算扑克牌24点
参加NineData举办的数据库编程大赛,展示你的技术才华!用一条SQL语句解决扑克牌24点的计算表达式。这场比赛面向数据库爱好者、开发者、程序员、DBA等,展示你的编程技能,并有机会赢得丰厚奖励。欢迎大家来挑战!
194 0
数据库编程大赛:一条SQL计算扑克牌24点
|
1月前
|
SQL Go
SQL编程
SQL编程
9 0
|
1月前
|
SQL 关系型数据库 MySQL
Flink 提供了一种名为 Flink SQL 的查询语言,它支持多种数据库之间的 DDL 语句转换
【2月更文挑战第18天】Flink 提供了一种名为 Flink SQL 的查询语言,它支持多种数据库之间的 DDL 语句转换
171 2