为什么Hadoop需要引入这些新类?它们似乎只是使界面复杂化
最佳答案
为了以 Hadoop 方式处理对象。比如hadoop使用的是Text
,而不是java的String
。 hadoop中的Text
类类似于java的String
,不过Text
实现了Comparable
、Writable
和 WritableComparable
。
这些接口(interface)都是MapReduce所必需的; Comparable
接口(interface)用于reducer对key进行排序时进行比较,Writable
可以将结果写入本地磁盘。它没有使用java Serializable
,因为java Serializable
对于hadoop来说太大或者太重,Writable
可以很轻的序列化hadoop对象方法。
关于hadoop - 为什么 Hadoop 需要像 Text 或 IntWritable 这样的类而不是 String 或 Integer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19441055/