自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

OpenHarmony啃論文成長計劃---Apache Avro與Twister

系統(tǒng) OpenHarmony
今天我們要講的是Apache Avro,其是Hadoop的一個子項目,由Hadoop的創(chuàng)始人Doug Cutting牽頭開發(fā)。Avro是一個數(shù)據(jù)序列化系統(tǒng),設(shè)計用于支持大批量數(shù)據(jù)交換的應(yīng)用。

??想了解更多內(nèi)容,請訪問:??

??51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)??

??https://ost.51cto.com??

大家好! 我是深圳技術(shù)大學(xué)FSR實驗室的同學(xué),在OpenHarmony成長計劃啃論文俱樂部里,與華為、軟通動力、潤和軟件、拓維信息、深開鴻等公司一起,學(xué)習(xí)和研究序列化相關(guān)技術(shù)…

【本期看點】

  • Apache Avro發(fā)展時間及應(yīng)用。
  • 文獻(xiàn)場景概述。
  • 與Apache Avro集成后的Twister體系結(jié)構(gòu)。

Apache Avro發(fā)展時間及應(yīng)用

開源地址:apache/avro: Apache Avro is a data serialization system. (github.com)。

今天我們要講的是Apache Avro,其是Hadoop的一個子項目,由Hadoop的創(chuàng)始人Doug Cutting牽頭開發(fā)。Avro是一個數(shù)據(jù)序列化系統(tǒng),設(shè)計用于支持大批量數(shù)據(jù)交換的應(yīng)用。它的主要特點有:支持二進(jìn)制序列化方式,可以便捷,快速地處理大量數(shù)據(jù);動態(tài)語言友好,Avro提供的機制使動態(tài)語言可以方便地處理Avro數(shù)據(jù)。

其主要應(yīng)用場景也是在大數(shù)據(jù)處理方面。

Apache Avro的 schema可以為單個字段聲明潛在類型的有序列表。在這些情況下,Apache Avro二進(jìn)制編碼會在值的前面加上一個32位 ZigZag編碼的小尾端基數(shù)128(LEB128)可變長度有符號整數(shù),該整數(shù)對應(yīng)于有序類型列表的索引。

對于多種類型組成的字段,會被編碼為數(shù)據(jù)類型索引(Type index)。例如下圖,如果schema定義了一個類型為[“string”、“int”、“null”]的字段,那么如果值是字符串,則該值將以0x00作為前綴,如果值是整數(shù),則以0x02作為前綴,如果值為空,則以0x04作為前綴,然后作為數(shù)據(jù)段的類型索引(Type index)。

文獻(xiàn)場景概述

這次我分享的文獻(xiàn)是關(guān)于Apache Avro在Twister信息傳遞系統(tǒng)的應(yīng)用,該項目的目標(biāo)是研究并實現(xiàn)一種用于Twister消息傳遞系統(tǒng)的新方法。

Twister是一個迭代的MapReduce框架,它將MapReduce范式提升到了一個更高的層次,滿足了迭代性質(zhì)的應(yīng)用。Twister通過Narada Brokering使用發(fā)布/訂閱消息系統(tǒng),但是由此引發(fā)的問題是,與較小的控制消息相比,在交換相對較大的數(shù)據(jù)消息時,消息傳遞體驗會延遲。

為了研究這個問題,該論文提出了另一種方法實現(xiàn),就是通過遠(yuǎn)程過程調(diào)用(RPC),并且選擇Apache Avro作為RPC框架,所有計算節(jié)點都可以直接從彼此發(fā)送和接收數(shù)據(jù),而不是通過代理系統(tǒng)。下面我們來看看Apache Avro和原Narada Brokerin系統(tǒng)的性能差別吧。

與Apache Avro集成后的Twister體系結(jié)構(gòu)

如上圖,ApacheAvro用于Twister驅(qū)動程序(Twister Driver)和Twister Daemon之間,以及Twister Daemon之間的通信。每個節(jié)點都可以通過RPC和序列化直接相互通信,而不是通過代理系統(tǒng)發(fā)送或接收消息。這樣就可以消除了發(fā)布/訂閱代理系統(tǒng)與計算節(jié)點之間的通信開銷和瓶頸。

測試結(jié)果

上圖展示了使用我們Apache Avro和原Narada Brokerin系統(tǒng)在不同的數(shù)據(jù)大小上運行K-means算法的時間性能差別。正如我們所期望的,這個基于Apache Avro的替代方法可以減少通信開銷并提高系統(tǒng)性能。

??想了解更多內(nèi)容,請訪問:??

??51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)??

??https://ost.51cto.com??

責(zé)任編輯:jianghua 來源: 鴻蒙社區(qū)
相關(guān)推薦

2022-02-16 16:28:22

RPC鴻蒙操作系統(tǒng)

2022-03-22 15:04:20

中間件分布式軟件鴻蒙

2022-03-08 15:23:20

序列化反序列化鴻蒙

2022-02-24 16:32:26

OpenHarmon壓縮編碼鴻蒙

2022-03-15 15:17:03

開源技術(shù)HarmonyMQTT協(xié)議

2022-03-28 15:17:12

JSONXMLHarmony

2022-03-28 15:28:42

分布式軟總線通訊Harmony

2022-03-30 14:43:00

Harmony分布式軟總線通訊

2022-08-05 19:55:20

學(xué)術(shù)科研鴻蒙

2022-02-10 14:57:46

OpenHarmon鴻蒙操作系統(tǒng)

2022-02-10 15:33:05

OpenHarmon應(yīng)用開發(fā)操作系統(tǒng)

2022-08-22 17:36:13

啃論文方法啃論文俱樂部

2022-04-20 20:37:58

鴻蒙操作系統(tǒng)

2022-05-20 14:21:50

物聯(lián)網(wǎng)通信協(xié)議

2022-05-13 23:03:25

大數(shù)據(jù)Big Data巨量資料

2011-01-15 12:34:37

紅旗IVI

2016-08-18 10:34:40

云存儲

2022-05-13 22:44:35

物聯(lián)網(wǎng)算法鴻蒙

2022-04-07 15:03:07

Harmony計算機鴻蒙

2022-09-13 16:10:15

鴻蒙操作系統(tǒng)
點贊
收藏

51CTO技術(shù)棧公眾號