`
侯上校
  • 浏览: 225677 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Hadooop序列化框架使用

 
阅读更多
第一步:实现Writable接口(TestGenericWritable.java)
 public static class Baz extends Bar {
    @Override
    public void readFields(DataInput in) throws IOException {
      super.readFields(in);
      //needs a configuration parameter
      assertEquals("Configuration is not set for the wrapped object", 
          CONF_TEST_VALUE, getConf().get(CONF_TEST_KEY)); 
    }
    @Override
    public void write(DataOutput out) throws IOException {
      super.write(out);
    }
  }
  /////////////////////////////////////////////////////////////
  Text before = new Text("test writable");
第二步:在序列化工厂中获取所有支持的序列化/反序列化JavaSerialization/WritableSerialization/AvroSerialization/AvroReflectSerialization/AvroSpecificSerialization
SerializationFactory factory = new SerializationFactory(conf);
    Serializer<K> serializer 
      = factory.getSerializer(GenericsUtil.getClass(before));
    Deserializer<K> deserializer 
      = factory.getDeserializer(GenericsUtil.getClass(before));
第三步:定义输入/输出并对数据进行序列化
 DataOutputBuffer out = new DataOutputBuffer();
    serializer.open(out);
    serializer.serialize(before);
    serializer.close();

    DataInputBuffer in = new DataInputBuffer();
    in.reset(out.getData(), out.getLength());
    deserializer.open(in);
    K after = deserializer.deserialize(null);
    deserializer.close();



  

 

分享到:
评论

相关推荐

    java 常用序列化和反序列化框架使用demo

    本篇将介绍几个常用的Java序列化和反序列化框架,并通过示例代码进行演示。 1. **Java标准序列化**: Java标准序列化通过实现`Serializable`接口来标记类可序列化。要序列化一个对象,可以使用`ObjectOutputStream...

    Lbse序列化框架1.0.1

    高性能java序列化框架,比kryo的性能还要强上三分之一。目前还不支持多维数组以及Map类。框架正在持续开发演进中。

    主流序列化框架测试报告

    主流java语言实现的序列化框架的测试性能测试报告.......................................................................

    快速序列化框架

    ### 快速序列化框架知识点概述 #### 一、序列化框架概览 序列化是计算机科学中的一个重要概念,指的是将内存中的数据结构或对象状态转换为可存储或传输的形式的过程。这一过程对于数据在网络间传输、存储以及跨...

    hessian学习基础篇——序列化和反序列化

    本文将深入探讨Hessian框架的基础知识,它是一个高效的二进制序列化协议,广泛应用于Java和.NET之间跨语言通信。通过学习Hessian,我们可以更有效地处理数据传输,提高应用性能。 首先,让我们理解什么是序列化。...

    Xml反序列化

    Xml反序列化是编程中一个重要的概念,尤其是在.NET框架中,它允许我们将XML文档的数据转换为等效的程序对象,反之亦然。这个过程对于数据交换、存储和恢复有着广泛的应用,尤其在需要将XML文件作为持久化数据格式时...

    lbse高性能序列化框架1.0.3

    高性能的java序列化框架,无论是生成的二进制字节数或者是序列化的速度都要优于kryo

    C#和Java的序列化反序列化

    在C#中,我们可以使用.NET框架提供的`System.Runtime.Serialization.Formatters.Binary.BinaryFormatter`类来进行二进制序列化,或者使用`System.Xml.Serialization.XmlSerializer`来进行XML序列化。而在Java中,...

    C++ JSON 序列化与反序列化

    本篇文章将深入探讨C++中JSON的序列化与反序列化。 **一、JSON序列化** 序列化是指将C++的对象转换为JSON字符串的过程,以便在网络上传输或保存到文件中。常见的C++ JSON序列化库有RapidJSON、nlohmann/json、...

    序列化和反序列化的封装类

    总结来说,序列化和反序列化是将对象转换为可存储或传输的格式的过程,而封装类的使用则可以简化这些操作,使得开发者可以更加专注于业务逻辑而不是底层的序列化细节。在C#中,我们可以利用.NET框架提供的工具来实现...

    XML序列化与反序列化 实战

    XML序列化与反序列化是.NET框架中处理数据交换的重要技术,它允许我们将对象的状态转换为XML格式的数据,也可以将XML数据恢复为等效的对象。这个实战项目专注于使用C#实现这一过程,使得开发者能够方便地在XML文件和...

    基于Java实现的高效序列化反序列化JSON框架设计源码

    该项目为Java语言编写的高效JSON序列化与反序列化框架设计源码,包含142个文件,涵盖134个Java源文件、2个XML文件、2个JSON文件、1个Git忽略文件、1个Markdown文件以及少量其他配置文件。此框架在序列化速度上超越...

    Jedis序列化和反序列化使用jar

    本文将深入探讨在使用Jedis时如何处理对象的序列化和反序列化,以及相关依赖库的作用。 首先,让我们了解什么是序列化和反序列化。序列化是将对象的状态转换为可存储或传输的形式的过程,而反序列化则是将这种形式...

    java序列化和反序列化的方法

    * 使用 Java 序列化 API 实现序列化和反序列化 在实际开发中,选择合适的序列化和反序列化方法取决于具体的需求和场景。在本例中,我们使用 Serializable 接口实现序列化和反序列化,以便在网络上传输 UserMessage ...

    C#关于treeview序列化的一个应用程序

    在C#中,我们可以使用.NET Framework提供的System.Runtime.Serialization命名空间中的类来实现序列化。反序列化则是相反的过程,即从数据流恢复对象的状态。 2. **TreeView控件**: TreeView控件是Windows Forms中...

    探讨和比较Java和.NET的序列化(Serialization)框架

    ### 探讨和比较Java与.NET的序列化框架 #### 序言 序列化作为支持面向对象编程中“持久性”这一重要概念的关键技术,在现代软件开发中扮演着至关重要的角色。无论是Java还是.NET这样的主流开发平台,序列化都是其...

    基于高性能的Java序列化框架fse设计源码

    本项目是针对高性能Java序列化的框架fse设计源码,共包含73个文件,涵盖66个Java源文件、2个XML配置文件、1个Git忽略文件、1个LICENSE文件、1个Markdown文件、1个YAML配置文件、1个DDL数据库脚本文件。该框架能够将...

    Objective-C序列化框架KryoCocoa.zip

    KryoCocoa 是 Kryo 高性能 Java 序列化框架的 Objective-C 移植版本,兼容 Java 版本的序列化格式。示例代码:Kryo *kryo = [Kryo new]; // ... NSOutputStream *outputStream = [NSOutputStream ...

    C#的控件使用:树形图TreeView如何实现序列化和反序列化.rar

    6. **加载到`TreeView`**:在反序列化完成后,可以使用`TreeView`的`Nodes`属性添加或插入节点,构建出与原始树结构相同的新`TreeView`。 注意,对于复杂的数据类型,可能需要额外处理,如转换为字符串后再序列化,...

    dotnet-Migrant快速和灵活的序列化框架

    "dotnet-Migrant快速和灵活的序列化框架" 是一个专为.NET平台设计的高效且易用的序列化库,名为"Migrant"。它旨在提供一种高性能的方法来转换对象实例到可存储或传输的格式,如JSON、XML或其他二进制格式。"快速和...

Global site tag (gtag.js) - Google Analytics