IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 【FFH】OpenHarmony啃论文成长计划---Apache Avro在Twister信息传递系统的应用 -> 正文阅读

[大数据]【FFH】OpenHarmony啃论文成长计划---Apache Avro在Twister信息传递系统的应用

大家好! 我是深圳技术大学FSR实验室的同学,在OpenHarmony成长计划啃论文俱乐部里,与华为、软通动力、润和软件、拓维信息、深开鸿等公司一起,学习和研究序列化技术

【简单回顾】

【FFH】OpenHarmony啃论文成长计划—为什么JSON将逐渐取代XML?
【FFH】OpenHarmony啃论文成长计划—几种常见的JSON解析器比较
【FFH】OpenHarmony啃论文成长计划—JSON-RPC
【FFH】OpenHarmony啃论文成长计划—浅谈序列化规范
【FFH】OpenHarmony啃论文成长计划—Flatbuffers应用于MQTT协议
【FFH】OpenHarmony啃论文成长计划—序列化技术发展及应用综述

【本期看点】

  • Apache Avro发展时间及应用
  • 文献场景概述
  • 与Apache Avro集成后的Twister体系结构

Apache Avro发展时间及应用

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

今天我们要讲的是Apache Avro,其是Hadoop的一个子项目,由Hadoop的创始人Doug Cutting牵头开发。Avro是一个数据序列化系统,设计用于支持大批量数据交换的应用。它的主要特点有:支持二进制序列化方式,可以便捷,快速地处理大量数据;动态语言友好,Avro提供的机制使动态语言可以方便地处理Avro数据。

其主要应用场景也是在大数据处理方面。

image.png

image.png
Apache Avro的 schema可以为单个字段声明潜在类型的有序列表。在这些情况下,Apache Avro二进制编码会在值的前面加上一个32位 ZigZag编码的小尾端基数128(LEB128)可变长度有符号整数,该整数对应于有序类型列表的索引。

对于多种类型组成的字段,会被编码为数据类型索引(Type index)。例如下图,如果schema定义了一个类型为[“string”、“int”、“null”]的字段,那么如果值是字符串,则该值将以0x00作为前缀,如果值是整数,则以0x02作为前缀,如果值为空,则以0x04作为前缀,然后作为数据段的类型索引(Type index)
image.png

文献场景概述

这次我分享的文献是关于Apache Avro在Twister信息传递系统的应用,该项目的目标是研究并实现一种用于Twister消息传递系统的新方法.

Twister是一个迭代的MapReduce框架,它将MapReduce范式提升到了一个更高的层次,满足了迭代性质的应用。Twister通过Narada Brokering使用发布/订阅消息系统,但是由此引发的问题是,与较小的控制消息相比,在交换相对较大的数据消息时,消息传递体验会延迟。

为了研究这个问题,该论文提出了另一种方法实现,就是通过远程过程调用(RPC),并且选择Apache Avro作为RPC框架,所有计算节点都可以直接从彼此发送和接收数据,而不是通过代理系统。下面我们来看看Apache Avro和原Narada Brokerin系统的性能差别吧。

与Apache Avro集成后的Twister体系结构

image.png

如上图,ApacheAvro用于Twister驱动程序(Twister Driver)Twister Daemon之间,以及Twister Daemon之间的通信。每个节点都可以通过RPC和序列化直接相互通信而不是通过代理系统发送或接收消息。这样就可以消除了发布/订阅代理系统与计算节点之间的通信开销和瓶颈。

测试结果

image.png

上图展示了使用我们Apache Avro和原Narada Brokerin系统在不同的数据大小上运行K-means算法的时间性能差别。正如我们所期望的,这个基于Apache Avro的替代方法可以减少通信开销并提高系统性能

参考文献

Improving Twister Messaging System Using Apache Avro
A Survey of JSON-compatible Binary Serialization Specifications

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-04-01 00:08:39  更:2022-04-01 00:09:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 5:45:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码