2
我寫了這樣的映射文件中生成:爲什麼標籤空間是由Hadoop的映射器產生
@Override
protected void map(VarLongWritable userId, RecommendedItemsWritable recommendations, Context ctx) throws IOException,
InterruptedException {
List<RecommendedItem> items = recommendations.getRecommendedItems();
for (RecommendedItem item : items) {
long userID = Long.valueOf(userId.toString().trim());
System.out.println(userID);
ctx.write(new LongWritable(userID), new Text(item.getItemID() + "," + item.getValue()));
}
}
,並生成以下內容:
1 ,105,3.8652005
1 ,106,3.7047918
1 ,104,3.6800702
2 ,106,2.7261393
2 ,105,2.4083052
2 ,107,2.0
3 ,106,3.5539715
3 ,102,3.4113002
3 ,103,3.323024
4 ,107,4.674651
4 ,105,4.371781
4 ,102,4.0743575
5 ,107,3.754705
其實我只是想將生成的文件加載到配置單元表中。 但帶有製表符空間,配置單元表中的值是錯誤的。
那麼有什麼辦法可以刪除文件中的標籤空間?
是的,謝謝。這確實有用。 – jeffreyji
實際上這裏有一個配置:mapred.textoutputformat.separator「,設置爲」,「,然後就可以了。 – jeffreyji