gpt4 book ai didi

hadoop - 使用spark Java的序列文件读取问题

转载 作者:可可西里 更新时间:2023-11-01 15:56:01 46 4
gpt4 key购买 nike

我正在尝试使用 spark 读取 hive 生成​​的序列文件。当我尝试访问该文件时,我面临 org.apache.spark.SparkException:作业因阶段失败而中止:任务不可序列化:java.io.NotSerializableException:

我已经尝试了解决这个问题的方法,比如使类可序列化,但我仍然面临这个问题。我在这里写代码片段,请让我知道我在这里遗漏了什么。

是因为 BytesWritable 数据类型还是其他导致问题的原因。

JavaPairRDD<BytesWritable, Text> fileRDD = javaCtx.sequenceFile("hdfs://path_to_the_file", BytesWritable.class, Text.class);
List<String> result = fileRDD.map(new Function<Tuple2<BytesWritables,Text>,String>(){
public String call (Tuple2<BytesWritable,Text> row){
return row._2.toString()+"\n";

}).collect();
}

最佳答案

这是让它工作所需要的

因为我们使用 HBase 来存储我们的数据并且这个 reducer 将它的结果输出到 HBase 表,Hadoop 告诉我们他不知道如何序列化我们的数据。这就是为什么我们需要帮助它。在 setUp 内部设置 io.serializations 变量您可以相应地在 spark 中完成

conf.setStrings("io.serializations", new String[]{hbaseConf.get("io.serializations"), MutationSerialization.class.getName(), ResultSerialization.class.getName()});

关于hadoop - 使用spark Java的序列文件读取问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43768376/

46 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com