我想问的是,拆分或在mapper类中生成键值对,而不是创建独立的可写类,这是糟糕的编程实践吗?我有10k键,它们的值是字符串格式的,我在mapper中执行拆分,好吗?还是不好?如果不好那为什么?如果不是,那么在什么情况下会是坏的呢?
mgdq6dx11#
这不是一个好的编程实践。实际上,这个框架的设计是这样的,你必须遵循上述规则和指导方针。如果键和值类不可写,那么程序将不会编译并返回错误。
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用作键类。相反,你可以用文字来表达。您也可以访问本教程以查看更多教程(http://hadoop.apache.org/docs/stable1/mapred_tutorial.html)
1条答案
按热度按时间mgdq6dx11#
这不是一个好的编程实践。实际上,这个框架的设计是这样的,你必须遵循上述规则和指导方针。如果键和值类不可写,那么程序将不会编译并返回错误。
因此,出于这个原因,不能将string用作键类。相反,你可以用文字来表达。您也可以访问本教程以查看更多教程(http://hadoop.apache.org/docs/stable1/mapred_tutorial.html)