【发布时间】:2014-02-24 02:43:02
【问题描述】:
我想问一下,在我们的映射器类中拆分或制作我们的键值对,而不是创建其独立的可写类,这是一种糟糕的编程习惯吗?
我有 10K 个键,它们的值是字符串格式的, 我正在映射器内部进行拆分,这样好吗?还是不好? 如果不好那为什么?如果不是,那在什么情况下会不好?
【问题讨论】:
标签: hadoop mapreduce cassandra
我想问一下,在我们的映射器类中拆分或制作我们的键值对,而不是创建其独立的可写类,这是一种糟糕的编程习惯吗?
我有 10K 个键,它们的值是字符串格式的, 我正在映射器内部进行拆分,这样好吗?还是不好? 如果不好那为什么?如果不是,那在什么情况下会不好?
【问题讨论】:
标签: hadoop mapreduce cassandra
这不是一个好的编程习惯。实际上,该框架的设计使您必须遵循上述规则和准则。如果键和值类不是可写的,那么程序将无法编译并返回错误。
The key and value classes have to be serializable by the framework and hence need to
implement the Writable interface. Additionally, the key classes have to implement the
WritableComparable interface to facilitate sorting by the framework.
因此,出于这个原因,您不能使用 String 作为键类。相反,您可以使用 Text 来解决这个问题。 您也可以访问本教程以查看更多教程(http://hadoop.apache.org/docs/stable1/mapred_tutorial.html)
【讨论】: