gpt4 book ai didi

java - IntWritable.class如何提供一个IntWritable类的对象

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

public static WritableComparator get(Class<? extends WritableComparable> c)

WritableComparator 中的 get 方法接受一个类类型的对象作为参数

RawComparator<IntWritable> comparator = WritableComparator.get(IntWritable.class);

那么 IntWritable.class 是如何提供一个 IntWritable 类的对象呢?

最佳答案

根据您的问题,我推测您正在寻找一个您不可见的对象。

在此示例中,您正在寻找一个 IntWritable 对象,但您没有在程序中的任何地方找到 NEW 关键字。

总结一下。 A.class 如何转换为 A a = new A();

用简单的话告诉你,如果没有java或hadoop中的对象,你就无法做任何事情。

因此在幕后为上述类创建对象以执行程序。在高层次上,我们可以说这种机制是内置在 hadoop 中的,可以根据需要处理对象的创建。

在更高的层次上,他们使用 JAVA Reflection API 在后台无缝地执行此操作。

为什么需要这个?因为我们不知道以下问题的实时答案:

  1. 文件大小是多少?
  2. 有多少个输入拆分(一些对象基于此)?
  3. INPUT 和 OUTPUT 有多少键/值对(这里还有一些对象)?
  4. 等(其他对象)

我们不知道

需要多少(总数)个对象?

什么时候(程序执行时间)需要它们?

我们需要依赖更高端的 API,如反射来在运行时处理它们。

HADOOP 使用的 Reflection API 负责根据需要为输入的 CLASS 提供 OBJECT

希望这能澄清。如果我错误地理解了您的问题,请向我解释。

关于java - IntWritable.class如何提供一个IntWritable类的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32606597/

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