登录社区云,与社区用户共同成长
邀请您加入社区
Byzer SQL 脚本也有作用域的概念。作用域是指变量的生命周期。 常见具备作用域的变量 临时表,比如select 1 as number as tempTable;这个 tempTable 就是一个临时表。默认是用户级别的作用域。set 语法变量,比如set a=1;这个 a 就是一个变量。变量可以手动设置作用域。比如set a=1 where scope="session";这个 a 就是一
简介 断言可以让 Byzer 在 SQL 脚本中的任何一个位置实现中断,判断某个条件是否成立。 set abc=''' { "x": 120, "y": 100, "z": 260 ,"dataType":"B group"} { "x": 160, "y": 100, "z": 260 ,"dataType":"C group"} { "x": 170, "y": 100, "z": 260 ,
在生产环境里使用SQL,这意味着: 成千上万的脚本单个SQL脚本成千上万行 SQL 自身的一些缺陷在面对上面问题时,会导致非常大的问题: 大量重复 SQL 代码,无论完整的 SQL 语句或者 SQL 代码片段都难以复用,导致效率低下,难以协作难以沉淀精细的(比如case when片段)或者模块化(比如完整的业务逻辑单元,类似一个jar包)的业务资产 所以在当面对很复杂的业务场景时,如何有效的复用,
Byzer-lang 内置了非常多的宏函数,可以帮助用户实现更好的交互。 信息查看类命令 在 Byzer 中可以通过!show命令来查看相关信息 分类语句功能描述系统版本!show version;查看当前引擎版本命令!show commands;列出 show 命令支持的所有子命令表!show tables;列出所有的表表!show tables from [databaseName];列出指定
传统 SQL 是不支持分支语句的,因此如果想要在 SQL 中添加判断或过滤条件,往往需要多条 SQL 拼接才能完成需求。但是在 Byzer-lang 中配合宏命令做到了分支语句的支持,允许我们正常使用 if/else,强化拓展了语言自身的能力。 1. 基本用法 一段最简单的分支语法示例: set a = "wow
Byzer-lang 支持复杂的代码组织结构,这赋予了 Byzer-lang 强大的代码复用能力。 可以将一个 Byzer 脚本引入到另外一个 Byzer 脚本也可以将一堆 Byzer 脚本组装成一个功能集,然后以 Lib 的方式提供给其他用户使用 1. 引入第三方依赖库 lib-core是 @allwefantasy 维护的一个 Byzer-lang Lib
Byzer-lang 中的宏函数和select句式中函数是不一样的。 宏函数主要是为了复用 Byzer-lang 代码。 1. 基础用法 以加载excel文件的代码为例: load excel.`./example-data/excel/hello_world.xlsx` where header="true" as hello_world; select hello from hello_wor
Byzer-lang 支持变量的设置和复用。 1. 基础应用 set hello="world"; 此时用户运行后不会有任何输出结果。 如果希望看到此变量,可以通过select语句进行查看。 示例: set hello="world"; select "hello ${hello}" as title as output; 得到结果如下: titlehello world 通常, 变量可以用于任何
Register 句式在 Byzer-lang 中主要可以完成三类工作: 动态注册 Java/Scala 写的 UDF/UDAF 函数将内置或者 Python 模型注册成 UDF 函数在流式计算中,注册 watermark/window 1. 注册 SQL 函数 在 SQL 中,最强大的莫过于函数了。Byzer-lang 支持动态创建 UDF/UDAF 函
Train/Run/Predict 都属于 Byzer-lang 里独有的并且可扩展的句式,一般用于机器学习模型的训练和预测,以及特征工程相关的数据处理操作。 想了解更多内置算法和特征工程算子的应用,可跳转置对应章节。 1. 基础语法 Train train顾名思义,就是进行训练,主要是对算法进行训练时使用。下面是一个比较典型的