gpt4 book ai didi

java - Hadoop 从 HDFS 写入/读取 int[]

转载 作者:可可西里 更新时间:2023-11-01 14:47:36 25 4
gpt4 key购买 nike

我想了解如何在 HDFS 中的文件中写入和读取 int 数组。因为 int[] 数组不是 Writable 对象,所以我实际上使用的是类 org.apache.hadoop.io.ObjectWritable

因此写入任务归结为以下调用:

new ObjectWritable(int[].class, array).write(arg0);

相反,读取任务会导致以下情况:

int[] array = {};
new ObjectWritable(int[].class, array).readFields(arg0);

我不太确定最后一个代码片段。事实上,如果我尝试执行它,我会在第二行得到一个 NullPointerException

如何正确读取 int[] 数组?

最佳答案

对于对象数组,您应该使用内置类 ArrayWritable .正如 javadoc 所述,您必须对其进行子类化并创建一个新类型,如 IntArrayWritable,它设置数组元素的正确类类型。

看看 example显示如何在映射器中填充 IntArrayWritable

关于java - Hadoop 从 HDFS 写入/读取 int[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15370479/

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