Git Product home page Git Product logo

newxlife / byzer-lang Goto Github PK

View Code? Open in Web Editor NEW

This project forked from byzer-org/byzer-lang

0.0 0.0 0.0 55.88 MB

Byzer (former MLSQL): A low-code open-source programming language for data pipeline, analytics and AI.

Home Page: https://www.byzer.org

License: Apache License 2.0

Shell 2.09% Python 7.77% Java 11.72% Scala 78.06% ANTLR 0.12% HTML 0.04% Batchfile 0.10% Dockerfile 0.03% Roff 0.07%

byzer-lang's Introduction

CI License

drawing

Byzer-lang

Byzer (former MLSQL) is a low-code, open-sourced and distributed programming language for data pipeline, analytics and AI in cloud native way.

Deisgn protocol: Everything is a table. Byzer is a SQL-like language, to simplify data pipeline, analytics and AI, combined with built-in algorithms and extensions.

We believe that everything is a table, a simple and powerful SQL-like language can significantly reduce human efforts of data development without switching different tools.

Byzer Architecture

Byzer-lang Arch

You can build a data product based on Byzer engine & Byzer-lang without interacting with computing framework directly like Spark in your data APP. Thus will simplify your data app significantly.

For example, Byzer org contributes a data app Byzer Notebook, which provides notebook interaction & workflow GUI interaction.

BIP (Byzer Improvement Proposal)

Byzer project uses the BIP for the community collaboration, you can checkout the feature design or architecture design in BIP.

Online Trial

You can access the official website https://www.byzer.org/ and try Byzer-lang & Byzer Notebook online.

Download

You can download Byzer engine via:

For more details, please refer to the docs

Install

For dev/test purpose, you can download Byzer All In One Package, extract and then execute the command below

$ cd {BYZER_HOME}
$ ./bin/byzer.sh start

And for production purpose, we recommend to use Byzer Server Package and deploy it on Hadoop.

You can also install Byzer VSCode Extension to use Byzer-lang.

For the Docker Image or , please refer to the docs

Byzer Code Example

Below list an example that how to process Github API as a table to get the information of Byzer Org

-- Get Github Organization Info

-- set API URL and params
SET org_name="byzer-org";
SET GITHUB_ORGANIZATION_URL="https://api.github.com/orgs/${org_name}";

-- Load Github Organization API as table
LOAD Rest.`$GITHUB_ORGANIZATION_URL` 
 where `config.connect-timeout`="10s"
 and `config.method`="GET"
 and `header.accept`="application/vnd.github.v3+json"
as github_org;


-- decode API response from binary to a json string
select string(content) as content from github_org as response_content;

-- expand the json string 
run response_content as JsonExpandExt.`` where inputCol="content" and structColumn="true" as github_org;

-- retrieve user infomation and process as a table
select content.* from github_org as org_info;

-- save the table to delta lake
save overwrite org_info as delta.`github_info_db.byzer_org`;

For more details about the Byzer-lang grammer, please refer to the user manaual Byzer-lang Grammar

Development

  1. Fork this repository and clone to local machine
git clone https://github.com/{YOUR_GITHUB}/byzer-lang.git
  1. Use Intellj Idea to open the project, choose the scala version 2.12.10

  2. In Intellj Idea Maven Setting, check the profile below

    • gpg
    • local
    • scala-2.12
    • spark-3.0.0
    • streamingpro-spark-3.0.0-adaptor
  3. Click Maven Refresh and wait for Idea load finished

  4. Find the class tech.mlsql.example.app.LocalSparkServiceApp, click Debug button then Byzer Engine will be started, then you can access the Byzer Web Console in http://localhost:9003/

Build

You can refer to the project byzer-org/byzer-build to check how to build the Byzer engine binary packages and images

How to contribute to Byzer-Lang

If you are planning to contribute to this project, please create an issue at our Issue page even if the topic is not related to source code itself (e.g., documentation, new idea and proposal).

This is an active open source project for everyone, and we are always open to people who want to use this system or contribute to it.

For more details about how to contribute to the Byzer Org, please refer to How to Contribute

Contributors

Made with contrib.rocks.

Community

byzer-lang's People

Contributors

allwefantasy avatar cfmcgrady avatar hellozepp avatar chncaesar avatar zml1206 avatar ckeys avatar lwz9103 avatar zhengshuaipeng avatar admondguo avatar anan0120 avatar dongbin86 avatar coderoverflow avatar xuqianjin-stars avatar slashwong avatar mapxn avatar liuyonghengheng avatar 2efper avatar jovany-wang avatar rebiekong avatar ghsuzzy avatar zzcclp avatar wangcheng15 avatar kaligo-li avatar xubo245 avatar lifanfanalice avatar bebee4java avatar bigalansun avatar scott-coding avatar zhuohuwu0603 avatar chaozwn avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.