gpt4 book ai didi

file - 为什么在hadoop mapper生成的文件中生成tab space

转载 作者:可可西里 更新时间:2023-11-01 14:58:59 26 4
gpt4 key购买 nike

我写了一个这样的映射器:

@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

其实我只是想将生成的文件加载到配置单元表中。但是有了tab space,hive表中的值是错误的。

那么有没有办法去掉文件中的tab空格呢?

最佳答案

我认为没有办法删除键和值之间的制表符空间。但是,如果您不需要 reducer,那么只需将所有信息放入映射器输出的键中即可:

ctx.write(new Text(userID + "," + item.getItemID() + "," + item.getValue()), new Text(""));

将 map 输出键的类型更改为文本。

关于file - 为什么在hadoop mapper生成的文件中生成tab space,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22345877/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com