如何構(gòu)建白澤桌面版

桌面版介紹

白澤桌面版集成了白澤所有組件,安裝后可完成各類數(shù)據(jù)需求屎勘。Linux MacOS 版提供完整功能施籍;Windows 版不建議使用,因 Windows 對(duì) HDFS API 支持不完善概漱。請(qǐng)從官網(wǎng)下載 白澤桌面版2.2.1 Linux 版MacOS 版 法梯, 并根據(jù) 官方文檔 安裝。

這篇文章介紹桌面版構(gòu)建過(guò)程犀概。

桌面版組成

桌面版組成

這里 VS Code Plugin 以 TypeScript 開(kāi)發(fā)立哑,是桌面版的前端部分 ;Language Server 橋接前端和白澤引擎姻灶;Spark 是白澤桌面版的底層計(jì)算引擎铛绰。

構(gòu)建流程

理解桌面版組成后,就容易理解以下步驟产喉。下面詳細(xì)介紹各個(gè)步驟捂掰。


桌面版構(gòu)建流程

構(gòu)建 Byzer-lang

這一部分敢会,參考 官方文檔 適配 Spark 3.1.1 。

git clone https://github.com/byzer-org/byzer-lang#building-a-distribution
export MLSQL_SPARK_VERSION=3.0
./dev/make-distribution.sh

完成后这嚣,得到 mlsql-engine_3.0-<version>.tar.gz 解壓得到 mlsql-engine_3.0-<version>.jar 這是 Byzer-lang 的 jar 鸥昏。

構(gòu)建 Language Server

Language Server 是 Byzer-lang 的一個(gè)插件。這一步姐帚,我們也構(gòu)建 3 個(gè)實(shí)用插件

  • mlsql-excel 讀寫(xiě) Excel 文件
  • mlsql-shell 執(zhí)行 Shell 腳本
  • mlsql-mllib 常用機(jī)器學(xué)習(xí)庫(kù)
git clone https://github.com/byzer-org/byzer-extension
pip install mlsql_plugin_tool
mlsql_plugin_tool build --module_name mlsql-language-server --spark spark311
mlsql_plugin_tool build --module_name mlsql-mllib --spark spark311
mlsql_plugin_tool build --module_name mlsql-excel --spark spark311
mlsql_plugin_tool build --module_name mlsql-shell --spark spark311

上述命令在 mlsql-language-server mlsql-mllib mlsql-excel mlsql-shell 子目錄的 target 子目錄生成 jar 包吏垮。
例如, 對(duì)于 mlsql-language-server

total 4.2M
-rw-rw-r-- 1 hadoop hadoop    1 Feb 26 14:54 classes.timestamp
drwxrwxr-x 3 hadoop hadoop 4.0K Feb 26 14:54 classes
drwxrwxr-x 3 hadoop hadoop 4.0K Feb 26 14:54 generated-sources
-rw-rw-r-- 1 hadoop hadoop  11K Feb 26 14:54 mlsql-language-server-3.0_2.12-0.1.0-SNAPSHOT-sources.jar
drwxrwxr-x 2 hadoop hadoop 4.0K Feb 26 14:54 test-classes
drwxrwxr-x 2 hadoop hadoop 4.0K Feb 26 14:54 maven-archiver
-rw-rw-r-- 1 hadoop hadoop  25K Feb 26 14:54 original-mlsql-language-server-3.0_2.12-0.1.0-SNAPSHOT.jar
drwxrwxr-x 2 hadoop hadoop 4.0K Feb 26 14:54 javadoc-bundle-options
-rw-rw-r-- 1 hadoop hadoop  62K Feb 26 14:54 maven-javadoc-plugin-stale-data.txt
drwxrwxr-x 3 hadoop hadoop 4.0K Feb 26 14:54 apidocs
-rw-rw-r-- 1 hadoop hadoop  72K Feb 26 14:54 mlsql-language-server-3.0_2.12-0.1.0-SNAPSHOT-javadoc.jar
-rw-rw-r-- 1 hadoop hadoop 4.0M Feb 26 14:54 mlsql-language-server-3.0_2.12-0.1.0-SNAPSHOT.jar

下載 JDK Spark

下載 Spark 3.1.1 ,請(qǐng)勿選擇其他版本罐旗。Spark 3.1.1 通過(guò)了白澤團(tuán)隊(duì)兼容性測(cè)試膳汪。

wget --no-check-certificate --no-verbose \
https://archive.apache.org/dist/spark/spark-3.1.1/spark-3.1.1-bin-hadoop3.2.tgz

國(guó)內(nèi)從華為云下載 Linux jdk8u151,速度飛快九秀。

wget --no-check-certificate --no-verbose "https://repo.huaweicloud.com/java/jdk/8u151-b12/jdk-8u151-linux-x64.tar.gz" 

從白澤官網(wǎng)下載 Mac JDK8

wget --no-check-certificate --no-verbose https://download.byzer.org/byzer/misc/jdk8_mac.zip

生成 VS Code Plugin

一個(gè) VS Code Plugin 即 vsix 文件遗嗽,也是 zip 壓縮包,它由 vsce 工具生成鼓蜒。vsce 安裝參考 vsce 痹换。下面開(kāi)始:
首先,我們看下壓縮包結(jié)構(gòu):

└── extension.vsixmanifest
└── '[Content_Types].xml'
└── extension
    ├── dist
    │   └── mlsql-lang        // byzer-lang
    │       ├── bin
    │       ├── jdk8             // JDK
    │       ├── libs
    │       ├── main          // streamingpro-mlsql-spark jar
   │       ├── plugin         // excel shell  mllib language-server jar
   │       └── spark            
   ├── docs
   ├── node_modules
   ├── out
   └── syntaxes
   └── language-configuration.json
   └── LICENSE.txt
   └── package.json
   └── README.md
   CHANGELOG.md

所以都弹,按圖索驥構(gòu)造目錄結(jié)構(gòu)娇豫。

git clone https://github.com/byzer-org/byzer-desktop.git
cd byzer-desktop
# 創(chuàng)建子目錄
mkdir -p dist/mlsql-lang/bin
mkdir -p dist/mlsql-lang/libs
mkdir -p dist/mlsql-lang/main
mkdir -p dist/mlsql-lang/plugin
# 拷貝 Byzer-lang
cp <byzer-lang-main-jar> dist/mlsql-lang/main/
# 拷貝language-server 及其他
cp <language-server-plugin> dist/mlsql-lang/plugin/
cp <shell-plugin> dist/mlsql-lang/plugin/
cp <excel-plugin> dist/mlsql-lang/plugin/
cp <mllib-plugin> dist/mlsql-lang/plugin/
# 拷貝 Spark
tar -xf <spark_download_path>/spark-3.1.1-bin-hadoop3.2.tgz -C dist/mlsql-lang/
mv dist/mlsql-lang/spark-3.1.1-bin-hadoop3.2 dist/mlsql-lang/spark
# 拷貝 JDK8
tar -xf <jdk8_path>/jdk-8u151-linux-x64.tar.gz -C dist/mlsql-lang/
mv dist/mlsql-lang/jdk1.8.0_151 dist/mlsql-lang/jdk8
# 構(gòu)建 VS Code Plugin 前端代碼
npm install

再調(diào)用 vsce 命令生成 VS Code Plugin 文件,例如 mlsql-0.0.6.vsix

cd byzer-desktop
vsce package

安裝后就可以愉快玩耍了缔杉。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市搁料,隨后出現(xiàn)的幾起案子或详,更是在濱河造成了極大的恐慌,老刑警劉巖郭计,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件霸琴,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡昭伸,警方通過(guò)查閱死者的電腦和手機(jī)梧乘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)庐杨,“玉大人选调,你說(shuō)我怎么就攤上這事×榉荩” “怎么了仁堪?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)填渠。 經(jīng)常有香客問(wèn)我弦聂,道長(zhǎng)鸟辅,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任莺葫,我火速辦了婚禮匪凉,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘捺檬。我一直安慰自己再层,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布欺冀。 她就那樣靜靜地躺著树绩,像睡著了一般。 火紅的嫁衣襯著肌膚如雪隐轩。 梳的紋絲不亂的頭發(fā)上饺饭,一...
    開(kāi)封第一講書(shū)人閱讀 49,772評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音职车,去河邊找鬼瘫俊。 笑死,一個(gè)胖子當(dāng)著我的面吹牛悴灵,可吹牛的內(nèi)容都是我干的扛芽。 我是一名探鬼主播,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼积瞒,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼川尖!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起茫孔,我...
    開(kāi)封第一講書(shū)人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤叮喳,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后缰贝,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體馍悟,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年剩晴,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了锣咒。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡赞弥,死狀恐怖毅整,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情绽左,我是刑警寧澤毛嫉,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站妇菱,受9級(jí)特大地震影響承粤,放射性物質(zhì)發(fā)生泄漏暴区。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一辛臊、第九天 我趴在偏房一處隱蔽的房頂上張望仙粱。 院中可真熱鬧,春花似錦彻舰、人聲如沸伐割。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)隔心。三九已至,卻和暖如春尚胞,著一層夾襖步出監(jiān)牢的瞬間硬霍,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工笼裳, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留唯卖,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓躬柬,卻偏偏與公主長(zhǎng)得像拜轨,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子允青,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容