hadoop - 为什么 Hadoop 需要像 Text 或 IntWritable 这样的类而不是 String 或 Integer?

标签 hadoop

为什么Hadoop需要引入这些新类?它们似乎只是使界面复杂化

最佳答案

为了以 Hadoop 方式处理对象。比如hadoop使用的是Text,而不是java的String。 hadoop中的Text类类似于java的String,不过Text实现了ComparableWritableWritableComparable

这些接口(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/

相关文章:

hadoop - Hbase 区域在不应该的时候 split

hadoop - 在大型 (50 GB) 数据集上,没有 Partition BY 子句的 Hive 窗口函数 ROW_NUMBER 非常慢。有没有更好的优化方法?

hadoop - 自定义分区程序错误

hadoop - to_utc_timestamp 是否考虑夏令时?

hadoop - HDFS Client 在写入时如何知道 block 大小?

sql - Hadoop Hive:如何选择FROM tableX m1,tableX m2?

hadoop - Hive 和 Hadoop MapReduce 之间的关系?

java - 从Hive导出数据时如何转换某些列?

hadoop - Hive 使用收集聚合

java - 使用 Java API 绕过垃圾箱从 HDFS 删除文件