Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Hadoop库序列化Java对象_Java_Hadoop_Serialization_Mapreduce - Fatal编程技术网

使用Hadoop库序列化Java对象

使用Hadoop库序列化Java对象,java,hadoop,serialization,mapreduce,Java,Hadoop,Serialization,Mapreduce,我正在尝试用Java序列化一个对象并将其写入一个文件,这样我的映射函数就可以从文件中获取该对象,并对其进行反序列化以获取该对象 我认为Java序列化不是很理想。所以我想使用hadoop库来实现这一点 有没有人能和我分享一些如何做到这一点的语法。我对hadoop非常陌生,不知道从哪里开始。对代码的一些解释也会很好 Hadoop中的系列化是使用Avro、拼花、序列文件、ORC e.t.c。。。您可以在java程序中使用上述任何一项。您需要了解hadoop使用上述序列化格式之一。所以你不需要那些Had

我正在尝试用Java序列化一个对象并将其写入一个文件,这样我的映射函数就可以从文件中获取该对象,并对其进行反序列化以获取该对象

我认为Java序列化不是很理想。所以我想使用hadoop库来实现这一点


有没有人能和我分享一些如何做到这一点的语法。我对hadoop非常陌生,不知道从哪里开始。对代码的一些解释也会很好

Hadoop中的系列化是使用Avro、拼花、序列文件、ORC e.t.c。。。您可以在java程序中使用上述任何一项。您需要了解hadoop使用上述序列化格式之一。所以你不需要那些Hadoop库

应该使用Hadoop序列化,以便mapreduce作业的任何InputFormat都可以读取输入记录

我建议您遵循以下步骤

  • 尝试将java对象转换为 Mapreduce,如文本、IntWritable、ListWritable等,如果没有 使您的Java对象能够扩展的可写接口 hadoop和实现自定义读/写方法

  • 使用SequenceFile作为存储格式,并创建一个Java程序,使用SequenceFile.Writer将上述可写对象写入 序列文件。请参阅中Hadoop I/O章节的SequenceFile主题 Hadoop权威指南书

  • 现在用SequenceFileInputFormat作为输入编写一个mapreduce程序 格式化,您将获得序列化的java对象 在你的地图上一个接一个地读

  • 要创建自定义可写,请参阅

    要将可写对象写入序列文件,请参阅


    要使用哪个序列化程序。。。Avro,序列,拼花地板?,哇,有三个!我不知道。你能解释一下区别吗?我正在为我的搜索引擎制作一个爬虫和索引器,并希望创建一个反向索引,将任何单词与文档列表相匹配。为此,我有一个MapReduce作业,它读取包含序列化对象的Hadoop文件,这些对象类似于:对象{String CtrutsFuffHyMLXPo.LoopDeadTrnGiID;}尽管进化现在不是一个大问题,但我还是愿意考虑它。我正在使用AmazonS3来存储这些文件。我可以将这些文件类型存储在S3中吗?这篇文章读起来很有趣!你推荐我用哪一个来做我的用途?我还想把其中的很多存储在一个文件中。e、 g.串行对象1串行对象2串行对象3…是的,您可以这样做。。。按照这个。。