AVRO 教程 AVRO 基础知识 AVRO – 概述 AVRO – 序列化 AVRO – 环境设置 AVRO 架构和 API AVRO – 模式 AVRO – 参考 API AVRO 通过生成类 通过生成类进行序列化 通过生成类反序列化 AVRO 使用解析器库 使用解析器序列化 使用解析器反序列化 讨论 AVRO Apache Avro是一种语言中立的数据序列化系统,由Hadoop 之父Doug Cutting开发。这是一个简短的教程,概述了如何设置 Avro 以及如何使用 Avro 序列化和反序列�..
Category : avro
AVRO 教程 AVRO 基础知识 AVRO – 概述 AVRO – 序列化 AVRO – 环境设置 AVRO 架构和 API AVRO – 模式 AVRO – 参考 API AVRO 通过生成类 通过生成类进行序列化 通过生成类反序列化 AVRO 使用解析器库 使用解析器序列化 使用解析器反序列化 AVRO – 环境设置 Apache 软件基金会为 Avro 提供了各种版本。您可以从 Apache 镜像下载所需的版本。让我们看看,如何设置环境与 Avro 一起工作 – 下载 Avro 要下载 Apache Avro,请继续执行以下操作 – 打开网页Apache.org。您将看到 Apache Avro 的主页,如下所示 – 点击项目→发布。您将获得发布列表。 ..
AVRO 教程 AVRO 基础知识 AVRO – 概述 AVRO – 序列化 AVRO – 环境设置 AVRO 架构和 API AVRO – 模式 AVRO – 参考 API AVRO 通过生成类 通过生成类进行序列化 通过生成类反序列化 AVRO 使用解析器库 使用解析器序列化 使用解析器反序列化 AVRO – 概述 要通过网络传输数据或其持久存储,您需要序列化数据。在Java 和 Hadoop 提供的序列化 API之前,我们有一个特殊的实用程序,称为Avro,这是一种基于模式的序列化技术。 本教程教您如何使用 Avro 序列化和反序列化数据。Avro 为各种编程语言提供了库。在本教程中,我们将演示使用 Java 库的示例。 什么是阿夫罗? Apache Avro 是一种语言中立的数据序列化系统。它是由 Hadoop 之父 Doug Cut 开发的。由于 Hadoop ..
AVRO 教程 AVRO 基础知识 AVRO – 概述 AVRO – 序列化 AVRO – 环境设置 AVRO 架构和 API AVRO – 模式 AVRO – 参考 API AVRO 通过生成类 通过生成类进行序列化 通过生成类反序列化 AVRO 使用解析器库 使用解析器序列化 使用解析器反序列化 AVRO – 快速指南 AVRO – 概述 要通过网络传输数据或其持久存储,您需要序列化数据。在Java 和 Hadoop 提供的序列化 API之前,我们有一个特殊的实用程序,称为Avro,这是一种基于模式的序列化技术。 本教程教您如何使用 Avro 序列化和反序列化数据。Avro 为各种编程语言提供了库。在本教程中,我们将演示使用 Java 库的示例。 什么是阿夫罗? Apache Avro 是一种语言中立的数据序列化系统。它是由 Hadoop 之父 Doug ..
AVRO 教程 AVRO 基础知识 AVRO – 概述 AVRO – 序列化 AVRO – 环境设置 AVRO 架构和 API AVRO – 模式 AVRO – 参考 API AVRO 通过生成类 通过生成类进行序列化 通过生成类反序列化 AVRO 使用解析器库 使用解析器序列化 使用解析器反序列化 AVRO – 参考 API 在上一章中,我们描述了 Avro 的输入类型,即 Avro schemas。在本章中,我们将解释 Avro 模式的序列化和反序列化中使用的类和方法。 特定数据写入器类 此类属于包org.apache.avro.specific。它实现了DatumWriter接口,该接口将 Java 对象转换为内存中的序列化格式。 构造函数 S.No. 描述 1 特定数据写入器(架构模式) 方法 S.No. 描述 1 ..
AVRO 教程 AVRO 基础知识 AVRO – 概述 AVRO – 序列化 AVRO – 环境设置 AVRO 架构和 API AVRO – 模式 AVRO – 参考 API AVRO 通过生成类 通过生成类进行序列化 通过生成类反序列化 AVRO 使用解析器库 使用解析器序列化 使用解析器反序列化 AVRO – 模式 Avro 是一个基于模式的序列化实用程序,接受模式作为输入。尽管有各种模式可用,但 Avro 遵循自己的模式定义标准。这些模式描述了以下细节 – 文件类型(默认记录) 记录位置 记录名称 记录中的字段及其对应的数据类型 使用这些模式,您可以使用更少的空间以二进制格式存储序列化值。这些值在没有任何元数据的情况下存储。 创建 Avro 架构 Avro 架构以 JavaScript 对象表示法 (JSON) 文档格式创建,这是一种基于文本的轻量级数据交换格式。它是通过以下方式之一创建的 – 一个 ..
AVRO 教程 AVRO 基础知识 AVRO – 概述 AVRO – 序列化 AVRO – 环境设置 AVRO 架构和 API AVRO – 模式 AVRO – 参考 API AVRO 通过生成类 通过生成类进行序列化 通过生成类反序列化 AVRO 使用解析器库 使用解析器序列化 使用解析器反序列化 AVRO – 序列化 数据序列化有两个目标 – 用于持久存储 通过网络传输数据 什么是序列化? 序列化是将数据结构或对象状态转换为二进制或文本形式以通过网络传输数据或存储在某些持久存储上的过程。一旦数据通过网络传输或从持久存储中检索,它需要再次反序列化。序列化称为编组,反序列化称为解组。 Java中的序列化 Java 提供了一种称为对象序列化的机制,其中对象可以表示为字节序列,其中包括对象的数据以及有关对象类型和存储在对象中的数据类型的信息。 序列化对象写入文件后,可以从文件中读取并反序列化。也就是说,表示对象及其数据的类型信息和字节可用于在内存中重新创建对象。 ObjectInputStream和ObjectOutputStream类分别用于在 Java 中序列化和反序列化对象。 Hadoop 中的序列化 通常在像 Hadoop 这样的分布式系统中,序列化的概念用于进程间通信和持久存储。 进程间通信 为了在网络中连接的节点之间建立进程间通信,使用了 RPC ..
AVRO 教程 AVRO 基础知识 AVRO – 概述 AVRO – 序列化 AVRO – 环境设置 AVRO 架构和 API AVRO – 模式 AVRO – 参考 API AVRO 通过生成类 通过生成类进行序列化 通过生成类反序列化 AVRO 使用解析器库 使用解析器序列化 使用解析器反序列化 AVRO – 有用的资源 以下资源包含有关 AVRO 的附加信息。请使用它们来获得更深入的知识。 AVRO 上的有用链接 AVRO – AVRO 的官方网站。 AVRO Wiki – AVRO 的维基百科参考。 关于 AVRO 的实用书籍 要在此页面上登记您的网站,请发送电子邮件至gingerdoc-contact..
AVRO 教程 AVRO 基础知识 AVRO – 概述 AVRO – 序列化 AVRO – 环境设置 AVRO 架构和 API AVRO – 模式 AVRO – 参考 API AVRO 通过生成类 通过生成类进行序列化 通过生成类反序列化 AVRO 使用解析器库 使用解析器序列化 使用解析器反序列化 AVRO – 通过生成类反序列化 如前所述,可以通过生成与模式对应的类或使用解析器库将 Avro 模式读入程序。本章介绍如何通过生成类来读取模式并使用 Avro反序列化数据。 通过生成类进行反序列化 序列化的数据存储在文件emp.avro 中。您可以使用 Avro 反序列化和读取它。 按照下面给出的过程反序列化文件中的序列化数据。 步骤1 使用SpecificDatumReader类创建DatumReader接口的对象。 DatumReader<emp>empDatumReader = new SpecificDatumReader<emp>(emp.class); 第2步 为emp类实例化DataFileReader。此类从文件中读取序列化数据。它需要Dataumeader对象和序列化数据所在文件的路径,作为构造函数的参数。 DataFileReader<emp> dataFileReader = ..
AVRO 教程 AVRO 基础知识 AVRO – 概述 AVRO – 序列化 AVRO – 环境设置 AVRO 架构和 API AVRO – 模式 AVRO – 参考 API AVRO 通过生成类 通过生成类进行序列化 通过生成类反序列化 AVRO 使用解析器库 使用解析器序列化 使用解析器进行反序列化 AVRO – 使用解析器进行反序列化 如前所述,可以通过生成与模式对应的类或使用解析器库将 Avro 模式读入程序。在 Avro 中,数据始终与其对应的架构一起存储。因此,我们始终可以在不生成代码的情况下读取序列化项。 本章介绍如何使用解析器库读取模式和使用 Avro反序列化数据。 使用解析器库进行反序列化 序列化的数据存储在文件mydata.txt 中。您可以使用 Avro 反序列化和读取它。 按照下面给出的过程反序列化文件中的序列化数据。 步骤1 首先,从文件中读取模式。为此,请使用Schema.Parser类。此类提供了以不同格式解析模式的方法。 通过传递存储架构的文件路径来实例化Schema.Parser类。 Schema schema = new Schema.Parser().parse(new ..