真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

開源|Moonbox_v0.3_beta重大發(fā)布|Grid全新重構(gòu),更快更解耦

導讀:數(shù)據(jù)虛擬化思想一直以來都是敏捷大數(shù)據(jù)團隊十分關注的一個點,Moonbox則以此為基礎而設計,致力于提供批量計算服務解決方案。今天,Moonbox驚喜發(fā)布0.3beta版(回顧v0.2請戳這里:#Moonbox# 計算服務平臺簡介:http://college.creditease.cn/detail/154),閱讀全文,了解Moonbox,跟小編一起看0.3版本的神奇之處在哪里吧~

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務,包含不限于網(wǎng)站設計制作、網(wǎng)站制作、南雄網(wǎng)絡推廣、小程序設計、南雄網(wǎng)絡營銷、南雄企業(yè)策劃、南雄品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)為所有大學生創(chuàng)業(yè)者提供南雄建站搭建服務,24小時服務熱線:18980820575,官方網(wǎng)址:www.cdcxhl.com

  • Project:https://github.com/edp963/moonbox

  • Release:https://github.com/edp963/moonbox/releases/tag/0.3.0-beta

  • Documentation:https://edp963.github.io/moonbox/

一、Moonbox定位

在了解Moonbox新版本之前,我們先來回憶一下Moonbox的定位。

Moonbox是一個DVtaaS(Data Virtualization as a Service)平臺解決方案。它基于數(shù)據(jù)虛擬化設計思想,致力于提供批量計算服務解決方案。Moonbox負責屏蔽底層數(shù)據(jù)源的物理和使用細節(jié),為用戶帶來虛擬數(shù)據(jù)庫般使用體驗,用戶只需通過統(tǒng)一SQL語言,即可透明實現(xiàn)跨異構(gòu)數(shù)據(jù)系統(tǒng)混算和寫出。此外Moonbox還提供數(shù)據(jù)服務、數(shù)據(jù)管理、數(shù)據(jù)工具、數(shù)據(jù)開發(fā)等基礎支持,可支撐更加敏捷和靈活的數(shù)據(jù)應用架構(gòu)和邏輯數(shù)倉實踐。

二、Moonbox功能

數(shù)據(jù)虛擬化思想是Moonbox很重要的一個設計原則,在此基礎上,Moonbox實現(xiàn)了多種功能。下面我們具體看一下Moonbox都有哪些功能:

多租戶

Moonbox建立了一套完整的用戶體系,引入了Organization的概念,用于劃分用戶空間。系統(tǒng)管理員ROOT賬號可以創(chuàng)建多個Organization,并在Organization中指定該Organization的管理者(SA)。SA可以是一個或者多個,SA負責創(chuàng)建管理普通用戶。

Moonbox將普通用戶的能力抽象出六大屬性,分別是是否可以執(zhí)行Account管理語句,是否可以執(zhí)行DDL語句,是否可以執(zhí)行DCL語句, 是否擁有可以授權其他用戶執(zhí)行Account類語句的能力,是否擁有可以授權其他用戶執(zhí)行DDL語句的能力,是否擁有可以授權其他用戶執(zhí)行DCL語句的能力。通過屬性的自由組合,可以構(gòu)建出滿足多種角色,多種需求的用戶體系模型,并借此實現(xiàn)多租戶。

擴展SQL

Moonbox將查詢語言統(tǒng)一為Spark SQL,底層使用Spark進行計算,同時擴展了一套DDL、DCL語句。包括對用戶的創(chuàng)建刪除和授權,數(shù)據(jù)表或者數(shù)據(jù)列的訪問授權,掛載卸載物理數(shù)據(jù)源或者數(shù)據(jù)表,創(chuàng)建刪除邏輯數(shù)據(jù)庫,創(chuàng)建刪除UDF/UDAF,創(chuàng)建刪除定時任務等。

優(yōu)化策略

Moonbox基于Spark進行混算,Spark SQL是支持多數(shù)據(jù)源的,但是Spark SQL在從數(shù)據(jù)源中進行數(shù)據(jù)拉取的時候只進行了project和filter算子的下推,并沒有考慮數(shù)據(jù)源的算力特性。

比如Elasticsearch對于聚合操作是很友好的,如果聚合操作能下推到Elasticsearch中進行計算會比將數(shù)據(jù)全部拉回Spark計算快的多。

再比如limit算子如果下推到數(shù)據(jù)源計算,能大大減少返回的數(shù)據(jù)量,節(jié)省拉取數(shù)據(jù)和計算的時間。

Moonbox對Spark Optimizer優(yōu)化后的LogicalPlan作進一步的優(yōu)化,根據(jù)規(guī)則拆分出可以進行下推的子樹,將子樹mapping成數(shù)據(jù)源查詢語言,將下推結(jié)果拉回Spark參與進一步的計算。

另外,如果LogicalPlan可以整體下推計算,那么Moonbox將不采用Spark進行計算,而是直接使用數(shù)據(jù)源客戶端運行LogicalPlan mapping出來的查詢語句,以減少啟動分布式作業(yè)的開銷,并節(jié)省分布式計算資源。

列權限控制

Moonbox定義了DCL語句來實現(xiàn)數(shù)據(jù)列級別權限控制。Moonbox管理員通過DCL語句將數(shù)據(jù)表或者數(shù)據(jù)列授權給用戶,Moonbox會將用戶和表以及列的權限關系保存到catalog中。當用戶在使用SQL查詢時會被攔截,分析出SQL被解析后的LogicalPlan中是否引用了未被授權的表或者列,如果有就報錯返回給用戶。

多種形式的UDF/UDAF

Moonbox除了支持以jar包的形式創(chuàng)建UDF/UDAF外,還支持以源代碼的形式創(chuàng)建,包括Java語言和Scala語言,這給UDF開發(fā)驗證帶來了便捷性。

定時任務

Moonbox提供了定時任務的功能,用戶使用DDL語句定義定時任務,以crontab表達式的形式定義調(diào)度策略,后臺內(nèi)嵌quartz進行任務定時調(diào)度。

多種客戶端

Moonbox支持以命令行工具, JDBC, Rest, ODBC等方式進行訪問。

多種數(shù)據(jù)源支持

Moonbox支持多種數(shù)據(jù)源,包括MySQL, Oracle, SQLServer, Clickhouse, Elasticsearch, MongoDB, Cassandra, HDFS, Hive, Kudu等,且支持自定義擴展。

兩種任務模式

Moonbox支持Batch和Interactive兩種任務模式。Batch模式支持Spark Yarn Cluster Mode,Interactive模式支持Spark Local和Spark Yarn Client Mode。

集群工作模式

Moonbox以master-slave群集方式工作,支持master主備切換。

三、Moonbox_v0.3 VS v0.2

Moonbox_v0.3在v0.2的基礎上做出了幾點重要改變,具體包括:

去掉redis依賴

v0.2是將查詢結(jié)果寫入Redis然后客戶端從Redis中獲取結(jié)果;v0.3直接將結(jié)果返回給客戶端。

改變數(shù)據(jù)傳輸方式

v0.2客戶端以rest方式獲取結(jié)果數(shù)據(jù);v0.3使用netty加protobuf的方式獲取結(jié)果數(shù)據(jù)。

Moonbox Master選主策略重構(gòu)

將Moonbox Master選主由akka singleton改為使用zk進行選主和信息持久化。

Moonbox Worker與Spark解耦

在v0.2中,直接在Worker中運行Spark APP Driver;v0.3改為在新的進程中運行Spark APP Driver,這樣Worker就與Spark進行了解耦,一個Worker節(jié)點可以運行多個Spark APP Driver,且可以運行其他APP。

四、Moonbox典型場景案例

最后,為了讓大家更加了解Moonbox,我們來介紹幾個典型的Moonbox應用場景案例。

基于DBus、Wormhole、Kudu、Moonbox構(gòu)建實時ETL

DBus將數(shù)據(jù)庫變更實時寫入Kafka,Wormhole消費Kafka進行流式處理,流上lookup其他表形成大寬表,或者執(zhí)行部分處理邏輯寫入Kudu。使用Moonbox對Kudu進行查詢將結(jié)果保存或者展示。

批量作業(yè)

使用Moonbox提供的批量作業(yè)腳本,異步rest接口或者定時任務,可以運行批量作業(yè)。

基于Davinci、Moonbox即席查詢可視化

將Moonbox的JDBC驅(qū)動放入Davinci lib中,即可像使用其他數(shù)據(jù)庫一樣對Moonbox進行查詢,并將結(jié)果進行圖形化展示。

SAS查詢

SAS用戶可以使用ODBC的方式連接到Moonbox進行數(shù)據(jù)查詢,并且可以將計算直接推到Moonbox中進行分布式計算。

便捷數(shù)據(jù)操作工具箱

因為Moonbox可以對接多種數(shù)據(jù)源,而且可以利用Spark進行多種數(shù)據(jù)源之間的混合計算,所以可以利用Moonbox進行各種便捷操作。例如利用一條SQL就可以搞定將一種數(shù)據(jù)源中某張表的數(shù)據(jù)導入另外一種數(shù)據(jù)源中,對比兩張表有哪些數(shù)據(jù)不同等等。

更多使用場景,大家可以自行體驗挖掘哦!

隨著數(shù)據(jù)虛擬化越來越受到大家的重視,一個靠譜的工具成了大家探索數(shù)據(jù)虛擬化世界的共同需求。Moonbox就是這樣一個工具,還等什么,趕緊用起來吧~

項目開源地址

DBus:https://github.com/BriData/DBus

Wormhole:https://github.com/edp963/wormhole

Moonbox:https://github.com/edp963/moonbox

Davinci:https://github.com/edp963/davinci

作者:王浩

來源:敏捷大數(shù)據(jù)

宜信技術學院


網(wǎng)頁標題:開源|Moonbox_v0.3_beta重大發(fā)布|Grid全新重構(gòu),更快更解耦
當前鏈接:http://weahome.cn/article/pghhop.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部