什么是 Byzer ?

Byzer ,又称为 Byzer-lang,一门面向 Data 和 AI 的低代码、云原生的开源编程语言。

Byzer 这一名称源于中国古代神兽“白泽”,其能言语,通万物之情,知鬼神之事。Byzer 语言创始人祝海林曾提到:“我们希望 Byzer 可以像神兽白泽一样,让数据说‘人’话。”

Byzer 是一门结合了声明式编程和命令式编程的混合编程语言,其低代码且类 SQL 的编程逻辑配合内置算法及插件的加持,能帮助数据工作者们高效打通数据链路,完成数据的清洗转换,并快速地进行机器学习相关的训练及预测。

Byzer 希望能够提供一套语言、一个引擎,就能覆盖整个数据链路,同时可以提供各种算法、模型训练等开箱即用的能力。

为什么我们需要开发 Byzer-lang ?

在 ABC (AI、BigData、Cloud Native)蓬勃发展的大数据时代,随着云基础设施、基础软件、算法模型等逐渐完善,低效的跨平台数据运转逐渐成为工程师落地数据平台和完成 AI 工程化的痛点。无论是基础设施的更换,更易用框架层面的升级,还是更优秀研发人才的招聘,都无法有效、高速地提升效率。

我们认为只有在编程语言层面进行革新,才能从根本上提高数据平台落地和 AI 工程化的效率。

  • SQL for AI™️ ,声明式融合命令式语言,SQL-like 语法简单又灵活
  • 云原生设计,充分利用云上算力和便宜的存储
  • 一套语言,一个引擎,覆盖 Data + AI 的能力,开箱即用

Byzer 四大特性降低成本,释放员工生产力

Byzer 旨在帮助用户以低成本和高效率的方式落地数据平台和完成 AI 工程化,释放数据分析师、工程师以及运维人员的生产力。其主要有以下四点特征:

  • 万物皆表(Everything is a table):

Byzer 语言的核心设计是万物皆表(Everything is a table),我们希望用户可以非常容易的将任何实体对象通过 Byzer 来抽象成二维表,从而能够基于表来进行数据处理或模型训练等进一步操作。Byzer 可以通过虚拟表串联数据流,做到多数据源无缝对接,并同时支持模型的批,流,API的一键部署。

  • 类 SQL 语法(SQL-like Language):

在语言设计层面,Byzer 采用了声明式融合命令式语言编程设计,SQL-like 语法简单又灵活。

  • 内置算法和插件(Built-in Algorithms and Plugins):

支持 Python、标准库、使用自定义 UDF(Scala/Java)。内置大量算法和特征工程工具,帮助平民分析师更快上手机器学习。

  • 可定制,简单,强大(Customizable, Simple and Powerful):

Byzer 通过一套语言、一个引擎,就能覆盖整个数据链路,开箱即用。且 Byzer 从 Day1 起就是云原生设计,同时原生分布式引擎(Spark 引擎和可插拔 Ray引擎)的设计,可以让 Byzer 充分实现算力和存储的云端扩展。

上图为 Byzer 架构图,我们可以看到 Byzer 作为一个解释型语言,拥有解释器(Interpreter)以及运行时环境 (Runtime),Byzer 的 Interpreter 会对 Byzer 的脚本做词法分析,预处理,解析等,然后生成 Java/Scala/Python/SQL 等代码,最后提交到 Runtime 上进行执行。

Byzer 使用 Github 作为包管理器(Package Manager),有内置 lib 库和第三方 lib 库(lib 库是使用 Byzer 语言编写出的功能模块)。

从上述设计理念实现而来,Byzer 既保留了 SQL 的优势,简洁易懂,还允许用户通过扩展点来进行更多的进阶操作,提供更多可编程能力。

Byzer IDE 支持 —— Byzer Notebook

作为一门语言,需要能够支持编辑器或者 IDE 来方便用户开发和使用, 完成诸如高亮,代码提示,运行等能力。目前比较流行的方式是实现 LSP (language server protocol),这样在编辑器层或者是 IDE 层,可以直接基于 LSP 完成相关功能。比如在代码提示功能的实现上,可以使用内置宏函数 !show 来实现参数自省,通过 code suggestion API 返回给调用方,完成代码的提示功能。

Byzer-lang 目前不仅支持官方 Web 版本 IDE:Byzer Notebook , 也支持用户在 VSCode 中下载插件来启用代码编辑以及 Notebook 的能力,详情可参考  Byzer 官网 中的下载地址。

Byzer Notebook 是基于 Byzer 引擎搭建的网页交互计算(Web IDE)应用平台。Byzer Notebook 同时也是 Byzer-lang 的 dubugger(调试器),通过 Notebook 简单易用的调试功能,省去了初学者安装配置开发环境的门槛。

贡献 Byzer 社区

如果 Byzer-Lang 和 Byzer Notebook 对您有帮助,或您有兴趣想要贡献自己的一份力量,Byzer 白泽社区(Byzer Org)非常期待您的加入。

也欢迎大家加入 Byzer Slack 社区开发讨论组,参与 Byzer 社区的前沿技术话题讨论

https://join.slack.com/t/byzer-org/shared_invite/zt-10qgl60dg-lX4fFggaHyHB6GtUmer_xw​​​​​​​

什么是 Byzer-lang ? 一门面向大数据和 AI 的开源云原生编程语言相关推荐

  1. Fluid 进入 CNCF Sandbox,加速大数据和 AI 应用拥抱云原生

    来源 | 阿里巴巴云原生公众号 2021 年 4 月 27 日,云原生计算基金会(CNCF)宣布通过全球 TOC 投票接纳 Fluid 成为 CNCF 官方沙箱项目.Fluid 是一个由南京大学.阿里 ...

  2. 借力大数据、AI,机智云能否在物联网PaaS平台上更胜一筹?

    经过几年发展,物联网技术日益成熟,企业需求渐趋复杂,越来越多的企业将单一的设备连接和管理需求转向数据分析和场景应用. 技术层面,物联网与大数据呈现融合趋势.一些物联网云平台公司开始将品牌做厚,涉足数据 ...

  3. Fluid: 让大数据和 AI 拥抱云原生的一块重要拼图

    作者 | 顾荣.车漾.范斌 得益于容器化带来的高效部署.敏捷迭代,以及云计算在资源成本和弹性扩展方面的天然优势,以 Kubernetes 为代表的云原生编排框架吸引着越来越多的 AI 与大数据应用在其 ...

  4. 面向大数据与云计算调度挑战的阿里经济体核心调度系统

    编者按 伏羲(Fuxi)是十年前最初创立飞天平台时的三大服务之一(分布式存储 Pangu,分布式计算 MaxCompute,分布式调度 Fuxi),当时的设计初衷是为了解决大规模分布式资源的调度问题( ...

  5. 面向大数据的异构内存系统

    面向大数据的异构内存系统 王孝远, 廖小飞, 刘海坤, 金海 华中科技大学计算机学院,湖北 武汉 430074 摘要:受限于DRAM和新型非易失性存储器(non-volatile memory,NVM ...

  6. 面向大数据异构系统的神威并行存储系统

    点击上方蓝字关注我们 面向大数据异构系统的神威并行存储系统 何晓斌1, 蒋金虎2 1 国家并行计算工程技术研究中心,北京 100080 2 复旦大学计算机科学技术学院,上海 200433 论文引用格式 ...

  7. caj文件打不开显示内存不足_面向大数据的高效存储容量缩减技术研究

    面向大数据的高效存储容量缩减技术研究 [摘要]:随着信息化的发展,全球数据量呈指数式增长,数据中心存储规模快速迈向了PB级甚至是EB级,其中包含了大量的冗余数据.这些冗余数据占用了大量的存储资源,导致 ...

  8. 面向大数据的索引结构研究进展

    面向大数据的索引结构研究进展 严赵峰, 张为华 复旦大学并行处理研究所,上海 201203 摘要:为了保证各类大数据系统的性能,以并发索引结构为核心的高效检索技术变得越来越重要.然而,数据存储体量的增 ...

  9. 支持在线大数据SQL查询平台开源项目

    一.XQL/IQL 基于SparkSQL实现了一套即席查询服务,具有如下特性: 优雅的交互方式,支持多种数据源/接收器,多数据源混算 spark常驻服务,基于zookeeper的引擎自动发现 负载均衡 ...

最新文章

  1. Spring入门第五课
  2. 做人不能太忽悠 评淘宝团购 续集
  3. ​清华大学提出基于生成对抗神经网络的自然图像多风格卡通化方法并开源代码...
  4. nginx 文件说明(非文件配置说明)
  5. 什么是区块链?什么是比特币?一文轻松看懂!
  6. PLSQL DBMS_DDL.ANALYZE_OBJECT
  7. 使用rx-java的异步抽象
  8. 1151压力变送器型号_日本进口横河EJA530E压力变送器型号解读!
  9. java中的Servlet
  10. java基础练习 2
  11. node 无脑生成小程序二维码图
  12. 解决在IE6下使用display: inline-block;的不兼容性问题
  13. 【设计模式】Iterator设计作业-设计LinkedList的iterator
  14. 微弱信号检测技术在机械早期故障探查中的应用研究
  15. 二阶无源低通滤波器幅频特性曲线_一文看懂二阶lc低通滤波器的设计及原理
  16. 头脑王者开发小程序系统文案
  17. 前端组件化开发实践总结
  18. P3966 [TJOI2013]单词(AC自动机)
  19. jquery的siblings属性和定时器
  20. python找零_Python 找零问题

热门文章

  1. ArcGIS中地理坐标系与投影坐标系以及投影转换
  2. Spring打印sql语句,MybatisLog小黑鸟无法打印sql的解决
  3. 图片怎么去底色变透明?在线图片去底色的方法
  4. MySQL count(*)、count(1) 和count(字段)的区别以及count()查询优化手段
  5. Java根据IP地址判断客户端属于哪个国家或地区
  6. CodeForces 1084A The Fair Nut and Elevator
  7. HTTP运作方式、报文格式、工作原理
  8. c++练习--hotdog
  9. 常用套接字选项(SOL_SOCKET级别)
  10. 小鹏自动泊车功能体验