二)Apache Avro1、简要介绍Apache Avro 是 Hadoop 下的一个子项目 。它本身既是一个序列化框架,同时也实现 了 RPC 的功能 。但由于 Yarn 项目初期,Avro 还不成熟,Avro 则作为日志序列化库使用,所有事件的序列化均采用 Avro 完成 。特点:
- 丰富的数据结构类型;
- 快速可压缩的二进制数据形式;
- 存储持久数据的文件容器;
- 提供远程过程调用 RPC;
- 简单的动态语言结合功能 。
- 支持动态模式 。Avro 不需要生成代码,这有利于搭建通用的数据处理系统,同时避免了代码入侵 。
- 数据无须加标签 。读取数据前 , Avro 能够获取模式定义,这使得 Avro 在数据编码时只需要保留更少的类型信息,有利于减少序列化后的数据大小 。
- 无须手工分配的域标识 。Thrift 和 Protocol Buffers 使用一个用户添加的整型域唯一性定义一个字段,而 Avro 则直接使用域名,该方法更加直观、更加易扩展 。
参考:Avro学习入门3、在 Yarn 中应用Apache Avro 最初是为 Hadoop 量身打造的 RPC 框架,考虑到稳定性,YARN 暂时采用 Protocol Buffers 作为序列化库,RPC 仍使用 MRv1 中的 RPC,而 Avro 则作为日志序列化库使用 。在 YARN MapReduce 中,所有事件的序列化 / 反序列化均采用 Avro 完成,相关定义在 Events.avpr 文件中 。
三、总结本节简要介绍了 Yarn 中五个重要的基础库,了解这些库会帮助了解 Yarn 代码逻辑和数据传递方式 。对其中两个第三方开源库进行了介绍 。Protocol Buffers 用作 RPC 函数参数的序列化和反序列化;Avro 在日志和事件部分的序列化库使用 。
【【深入浅出 Yarn 架构与实现】2-1 Yarn 基础库概述】
推荐阅读
- 2022支付宝蚂蚁庄园8月16日答案
- 欢乐斗牛怎么玩(欢乐斗牛为什么没了)
- 牛牛游戏怎么玩(斗牛五张牌做牌手法)
- 红包牛牛怎么玩(打牛牛有什么诀窍)
- 求扑克“牛牛”的玩法(牛牛纸牌攻略)
- 【操作说明】全能型H.265播放器如何使用?
- 原神8.13复原械画部件之二图文攻略
- 如何破解压缩包的密码从网盘里面下载了一个压缩包,解压的时候需要输入密码,不知道密码是什么,该怎么
- 网上打字赚钱的有哪些(网上打字挣钱日结)
- 【深入浅出 Yarn 架构与实现】1-2 搭建 Hadoop 源码阅读环境